Alexandre Julliard : winex11: Don' t select for mouse events on the client window.

Alexandre Julliard julliard at winehq.org
Thu Aug 30 14:34:33 CDT 2012


Module: wine
Branch: master
Commit: 2967599286726e130f4560c852267222a837378b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2967599286726e130f4560c852267222a837378b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Aug 30 12:57:45 2012 +0200

winex11: Don't select for mouse events on the client window.

---

 dlls/winex11.drv/mouse.c  |    2 +-
 dlls/winex11.drv/window.c |    5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index 14b12f2..4faeb27 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -1470,7 +1470,7 @@ void X11DRV_EnterNotify( HWND hwnd, XEvent *xev )
 
     TRACE( "hwnd %p/%lx pos %d,%d detail %d\n", hwnd, event->window, event->x, event->y, event->detail );
 
-    if (event->detail == NotifyVirtual || event->detail == NotifyNonlinearVirtual) return;
+    if (event->detail == NotifyVirtual) return;
     if (event->window == x11drv_thread_data()->grab_window) return;
 
     /* simulate a mouse motion event */
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 1404c88..7e886dd 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -332,8 +332,7 @@ static Window create_client_window( Display *display, struct x11drv_win_data *da
     attr.bit_gravity = NorthWestGravity;
     attr.win_gravity = NorthWestGravity;
     attr.backing_store = NotUseful;
-    attr.event_mask = (ExposureMask | PointerMotionMask |
-                       ButtonPressMask | ButtonReleaseMask | EnterWindowMask);
+    attr.event_mask = ExposureMask;
     mask = CWEventMask | CWBitGravity | CWWinGravity | CWBackingStore;
 
     if ((cx = data->client_rect.right - data->client_rect.left) <= 0) cx = 1;
@@ -2286,7 +2285,7 @@ void CDECL X11DRV_SetCapture( HWND hwnd, UINT flags )
 
     if (hwnd)
     {
-        Window grab_win = X11DRV_get_client_window( GetAncestor( hwnd, GA_ROOT ) );
+        Window grab_win = X11DRV_get_whole_window( GetAncestor( hwnd, GA_ROOT ) );
 
         if (!grab_win) return;
         XFlush( gdi_display );




More information about the wine-cvs mailing list