[Xfce4-commits] r26918 - xfwm4/trunk/src

Olivier Fourdan olivier at xfce.org
Fri May 2 09:09:16 CEST 2008


Author: olivier
Date: 2008-05-02 07:09:16 +0000 (Fri, 02 May 2008)
New Revision: 26918

Modified:
   xfwm4/trunk/src/client.c
   xfwm4/trunk/src/events.c
Log:
Do not filter out leave notify events otherwize the frame buttons may remain in prelight state

Modified: xfwm4/trunk/src/client.c
===================================================================
--- xfwm4/trunk/src/client.c	2008-05-01 23:02:23 UTC (rev 26917)
+++ xfwm4/trunk/src/client.c	2008-05-02 07:09:16 UTC (rev 26918)
@@ -4244,9 +4244,9 @@
     {
         moving = FALSE;
     }
-    else if ((xevent->type == EnterNotify) || (xevent->type == LeaveNotify))
+    else if (xevent->type == EnterNotify)
     {
-        /* Ignore enter/leave events */
+        /* Ignore enter events */
     }
     else
     {
@@ -4314,7 +4314,7 @@
     }
 
     g1 = myScreenGrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-    g2 = myScreenGrabPointer (screen_info, ButtonMotionMask | ButtonReleaseMask,
+    g2 = myScreenGrabPointer (screen_info, ButtonMotionMask | ButtonReleaseMask | LeaveWindowMask,
                               myDisplayGetCursorMove (display_info),
                               myDisplayGetCurrentTime (display_info));
     if ((passdata.use_keys && !g1) || (!g2))
@@ -4789,9 +4789,9 @@
     {
         resizing = FALSE;
     }
-    else if ((xevent->type == EnterNotify) || (xevent->type == LeaveNotify))
+    else if (xevent->type == EnterNotify)
     {
-        /* Ignore enter/leave events */
+        /* Ignore enter events */
     }
     else
     {
@@ -4860,7 +4860,7 @@
     }
 
     g1 = myScreenGrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-    g2 = myScreenGrabPointer (screen_info, ButtonMotionMask | ButtonReleaseMask,
+    g2 = myScreenGrabPointer (screen_info, ButtonMotionMask | ButtonReleaseMask | LeaveWindowMask,
                               myDisplayGetCursorResize(display_info, passdata.corner),
                               myDisplayGetCurrentTime (display_info));
 
@@ -5069,7 +5069,6 @@
         case ButtonPress:
         case ButtonRelease:
         case EnterNotify:
-        case LeaveNotify:
         case MotionNotify:
             break;
         default:
@@ -5101,7 +5100,7 @@
     display_info = screen_info->display_info;
 
     g1 = myScreenGrabKeyboard (screen_info, ev->time);
-    g2 = myScreenGrabPointer (screen_info, NoEventMask,  None, ev->time);
+    g2 = myScreenGrabPointer (screen_info, LeaveWindowMask,  None, ev->time);
 
     if (!g1 || !g2)
     {

Modified: xfwm4/trunk/src/events.c
===================================================================
--- xfwm4/trunk/src/events.c	2008-05-01 23:02:23 UTC (rev 26917)
+++ xfwm4/trunk/src/events.c	2008-05-02 07:09:16 UTC (rev 26918)
@@ -1677,7 +1677,7 @@
     {
         for (b = 0; b < BUTTON_COUNT; b++)
         {
-            if (c->button_status[b] == BUTTON_STATE_PRELIGHT)
+            if ((c->button_status[b] == BUTTON_STATE_PRELIGHT) || (c->button_status[b] == BUTTON_STATE_PRESSED))
             {
                 if (MYWINDOW_XWINDOW(c->buttons[b]) == ev->window)
                 {



More information about the Xfce4-commits mailing list