Ecore_Win32: Resolving the issue of "mouse-down inside and mouse-up outside"
authorcaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 20 Nov 2011 07:09:31 +0000 (07:09 +0000)
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 20 Nov 2011 07:09:31 +0000 (07:09 +0000)
Patch by Kim Shinwoo

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@65425 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_win32/ecore_win32.c

index eec17fc..89a2867 100644 (file)
@@ -107,6 +107,7 @@ _ecore_win32_window_procedure(HWND   window,
        /* Mouse input notifications */
      case WM_LBUTTONDOWN:
        INF("left button down message");
+       SetCapture(window);
        _ecore_win32_event_handle_button_press(data, 1);
        return 0;
      case WM_MBUTTONDOWN:
@@ -123,10 +124,10 @@ _ecore_win32_window_procedure(HWND   window,
 
           INF("left button up message");
 
+          ReleaseCapture();
           w = (Ecore_Win32_Window *)GetWindowLongPtr(window, GWLP_USERDATA);
           if (w->drag.dragging)
             {
-               ReleaseCapture();
                w->drag.dragging = 0;
                return 0;
             }