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

Olivier Fourdan olivier at xfce.org
Sun Jan 7 21:23:21 CET 2007


Author: olivier
Date: 2007-01-07 20:23:21 +0000 (Sun, 07 Jan 2007)
New Revision: 24291

Modified:
   xfwm4/trunk/src/client.c
   xfwm4/trunk/src/events.c
   xfwm4/trunk/src/netwm.c
   xfwm4/trunk/src/screen.c
   xfwm4/trunk/src/screen.h
   xfwm4/trunk/src/workspaces.c
Log:
Rework grab release (trying to fix bug #2694)

Modified: xfwm4/trunk/src/client.c
===================================================================
--- xfwm4/trunk/src/client.c	2007-01-07 18:54:42 UTC (rev 24290)
+++ xfwm4/trunk/src/client.c	2007-01-07 20:23:21 UTC (rev 24291)
@@ -248,7 +248,7 @@
         }
 
     }
-    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (screen_info->display_info));
+    myScreenUngrabPointer (screen_info);
 }
 
 void
@@ -3098,7 +3098,7 @@
          */
         myScreenGrabPointer (c->screen_info, EnterWindowMask, None, myDisplayGetCurrentTime (display_info));
         clientConfigure (c, &wc, CWWidth | CWHeight | CWX | CWY, CFG_FORCE_REDRAW);
-        myScreenUngrabPointer (c->screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabPointer (c->screen_info);
     }
 }
 
@@ -3287,7 +3287,7 @@
              clientConfigure (c, &wc, CWX | CWY, CFG_CONSTRAINED | CFG_REQUEST);
         }
     }
-    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (screen_info->display_info));
+    myScreenUngrabPointer (screen_info);
 
     g_list_free (list_of_windows);
 }
@@ -3964,8 +3964,8 @@
         TRACE ("grab failed in clientMove");
 
         gdk_beep ();
-        myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-        myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabKeyboard (screen_info);
+        myScreenUngrabPointer (screen_info);
 
         return;
     }
@@ -4027,7 +4027,7 @@
     }
     clientConfigure (c, &wc, changes, NO_CFG_FLAG);
 
-    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
+    myScreenUngrabKeyboard (screen_info);
     if (!passdata.released)
     {
         /* If this is a drag-move, wait for the button to be released.
@@ -4037,7 +4037,7 @@
         gtk_main ();
         eventFilterPop (display_info->xfilter);
     }
-    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+    myScreenUngrabPointer (screen_info);
     if (passdata.grab && screen_info->params->box_move)
     {
         myDisplayUngrabServer (display_info);
@@ -4508,8 +4508,8 @@
         TRACE ("grab failed in clientResize");
 
         gdk_beep ();
-        myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-        myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabKeyboard (screen_info);
+        myScreenUngrabPointer (screen_info);
 
         return;
     }
@@ -4572,7 +4572,7 @@
     clientXSyncClearTimeout (c);
     c->xsync_waiting = FALSE;
 #endif /* HAVE_XSYNC */
-    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
+    myScreenUngrabKeyboard (screen_info);
     if (!passdata.released)
     {
         /* If this is a drag-resize, wait for the button to be released.
@@ -4582,7 +4582,7 @@
         gtk_main ();
         eventFilterPop (display_info->xfilter);
     }
-    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+    myScreenUngrabPointer (screen_info);
     if (passdata.grab && screen_info->params->box_resize)
     {
         myDisplayUngrabServer (display_info);
@@ -4745,8 +4745,8 @@
         TRACE ("grab failed in clientCycle");
 
         gdk_beep ();
-        myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-        myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabKeyboard (screen_info);
+        myScreenUngrabPointer (screen_info);
 
         return;
     }
@@ -4794,8 +4794,6 @@
         tabwinDestroy (passdata.tabwin);
         g_free (passdata.tabwin);
     }
-    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
 
     if (passdata.c)
     {
@@ -4821,6 +4819,9 @@
         clientSetFocus (screen_info, c, myDisplayGetCurrentTime (display_info), NO_FOCUS_FLAG);
         clientRaise (c, None);
     }
+
+    myScreenUngrabKeyboard (screen_info);
+    myScreenUngrabPointer (screen_info);
 }
 
 static eventFilterStatus

Modified: xfwm4/trunk/src/events.c
===================================================================
--- xfwm4/trunk/src/events.c	2007-01-07 18:54:42 UTC (rev 24290)
+++ xfwm4/trunk/src/events.c	2007-01-07 20:23:21 UTC (rev 24291)
@@ -225,7 +225,7 @@
     {
         TRACE ("grab failed in typeOfClick");
         gdk_beep ();
-        myScreenUngrabPointer (screen_info, ev->xbutton.time);
+        myScreenUngrabPointer (screen_info);
         return XFWM_BUTTON_UNDEFINED;
     }
 
@@ -249,7 +249,7 @@
     eventFilterPop (display_info->xfilter);
     TRACE ("leaving typeOfClick loop");
 
-    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+    myScreenUngrabPointer (screen_info);
     XFlush (display_info->dpy);
     return (XfwmButtonClickType) passdata.clicks;
 }
@@ -1047,7 +1047,7 @@
     }
     else
     {
-        XUngrabPointer (display_info->dpy, myDisplayGetCurrentTime (display_info));
+        XUngrabPointer (display_info->dpy, ev->time);
         XSendEvent (display_info->dpy, screen_info->xfwm4_win, FALSE, SubstructureNotifyMask, (XEvent *) ev);
     }
 }

Modified: xfwm4/trunk/src/netwm.c
===================================================================
--- xfwm4/trunk/src/netwm.c	2007-01-07 18:54:42 UTC (rev 24290)
+++ xfwm4/trunk/src/netwm.c	2007-01-07 20:23:21 UTC (rev 24291)
@@ -744,7 +744,7 @@
          */
         myScreenGrabPointer (c->screen_info, EnterWindowMask, None, myDisplayGetCurrentTime (display_info));
         clientConfigure (c, &wc, CWX | CWY | CWWidth | CWHeight, CFG_FORCE_REDRAW);
-        myScreenUngrabPointer (c->screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabPointer (c->screen_info);
     }
     else
     {

Modified: xfwm4/trunk/src/screen.c
===================================================================
--- xfwm4/trunk/src/screen.c	2007-01-07 18:54:42 UTC (rev 24290)
+++ xfwm4/trunk/src/screen.c	2007-01-07 20:23:21 UTC (rev 24291)
@@ -365,7 +365,7 @@
 }
 
 unsigned int
-myScreenUngrabKeyboard (ScreenInfo *screen_info, Time time)
+myScreenUngrabKeyboard (ScreenInfo *screen_info)
 {
     g_return_val_if_fail (screen_info, 0);
     TRACE ("entering myScreenUngrabKeyboard");
@@ -377,7 +377,7 @@
     }
     if (screen_info->key_grabs == 0)
     {
-        XUngrabKeyboard (myScreenGetXDisplay (screen_info), time);
+        XUngrabKeyboard (myScreenGetXDisplay (screen_info), CurrentTime);
     }
     TRACE ("global key grabs %i", screen_info->key_grabs);
 
@@ -385,7 +385,7 @@
 }
 
 unsigned int
-myScreenUngrabPointer (ScreenInfo *screen_info, Time time)
+myScreenUngrabPointer (ScreenInfo *screen_info)
 {
     g_return_val_if_fail (screen_info, 0);
     TRACE ("entering myScreenUngrabPointer");
@@ -397,7 +397,7 @@
     }
     if (screen_info->pointer_grabs == 0)
     {
-        XUngrabPointer (myScreenGetXDisplay (screen_info), time);
+        XUngrabPointer (myScreenGetXDisplay (screen_info), CurrentTime);
     }
     TRACE ("global pointer grabs %i", screen_info->pointer_grabs);
 

Modified: xfwm4/trunk/src/screen.h
===================================================================
--- xfwm4/trunk/src/screen.h	2007-01-07 18:54:42 UTC (rev 24290)
+++ xfwm4/trunk/src/screen.h	2007-01-07 20:23:21 UTC (rev 24291)
@@ -168,10 +168,8 @@
                                                                  unsigned int,
                                                                  Cursor,
                                                                  Time);
-unsigned int             myScreenUngrabKeyboard                 (ScreenInfo *,
-                                                                 Time);
-unsigned int             myScreenUngrabPointer                  (ScreenInfo *,
-                                                                 Time);
+unsigned int             myScreenUngrabKeyboard                 (ScreenInfo *);
+unsigned int             myScreenUngrabPointer                  (ScreenInfo *);
 void                     myScreenGrabKeys                       (ScreenInfo *);
 void                     myScreenUngrabKeys                     (ScreenInfo *);
 #endif /* INC_SCREEN_H */

Modified: xfwm4/trunk/src/workspaces.c
===================================================================
--- xfwm4/trunk/src/workspaces.c	2007-01-07 18:54:42 UTC (rev 24290)
+++ xfwm4/trunk/src/workspaces.c	2007-01-07 20:23:21 UTC (rev 24291)
@@ -391,7 +391,7 @@
         }
     }
 
-    myScreenUngrabPointer (screen_info, timestamp);
+    myScreenUngrabPointer (screen_info);
 }
 
 void



More information about the Xfce4-commits mailing list