[Xfce4-commits] r29550 - in xfwm4/trunk: . src
Olivier Fourdan
olivier at xfce.org
Tue Feb 24 00:59:07 CET 2009
Author: olivier
Date: 2009-02-23 23:59:06 +0000 (Mon, 23 Feb 2009)
New Revision: 29550
Modified:
xfwm4/trunk/ChangeLog
xfwm4/trunk/src/cycle.c
xfwm4/trunk/src/moveresize.c
Log:
* src/cycle.c, src/moveresize.c: Make sure any active grab on the
keyboard and pointer are released (Corollary to bug #4959).
Modified: xfwm4/trunk/ChangeLog
===================================================================
--- xfwm4/trunk/ChangeLog 2009-02-23 20:24:02 UTC (rev 29549)
+++ xfwm4/trunk/ChangeLog 2009-02-23 23:59:06 UTC (rev 29550)
@@ -1,5 +1,10 @@
2009-02-23 olivier
+ * src/cycle.c, src/moveresize.c: Make sure any active grab on the
+ keyboard and pointer are released (Corollary to bug #4959).
+
+2009-02-23 olivier
+
* src/netwm.h, src/netwm.c, src/client.h, src/client.c, src/events.c,
src/focus.c: Capture user time at startup, a bit of refactoring to
avoid duplication of code (that led to this bug to remain after a
Modified: xfwm4/trunk/src/cycle.c
===================================================================
--- xfwm4/trunk/src/cycle.c 2009-02-23 20:24:02 UTC (rev 29549)
+++ xfwm4/trunk/src/cycle.c 2009-02-23 23:59:06 UTC (rev 29550)
@@ -214,8 +214,8 @@
TRACE ("grab failed in clientCycle");
gdk_beep ();
- myScreenUngrabKeyboard (screen_info, ev->time);
- myScreenUngrabPointer (screen_info, ev->time);
+ myScreenUngrabKeyboard (screen_info, CurrentTime);
+ myScreenUngrabPointer (screen_info, CurrentTime);
return;
}
@@ -304,6 +304,10 @@
clientSetFocus (screen_info, c, myDisplayGetCurrentTime (display_info), NO_FOCUS_FLAG);
}
- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+ /*
+ * Use CurrentTime instead of actual last event time to make sure
+ * that the grab is released in any case.
+ */
+ myScreenUngrabKeyboard (screen_info, CurrentTime);
+ myScreenUngrabPointer (screen_info, CurrentTime);
}
Modified: xfwm4/trunk/src/moveresize.c
===================================================================
--- xfwm4/trunk/src/moveresize.c 2009-02-23 20:24:02 UTC (rev 29549)
+++ xfwm4/trunk/src/moveresize.c 2009-02-23 23:59:06 UTC (rev 29550)
@@ -952,8 +952,8 @@
TRACE ("grab failed in clientMove");
gdk_beep ();
- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+ myScreenUngrabKeyboard (screen_info, CurrentTime);
+ myScreenUngrabPointer (screen_info, CurrentTime);
return;
}
@@ -1022,9 +1022,14 @@
gtk_main ();
eventFilterPop (display_info->xfilter);
}
- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+ /*
+ * Use CurrentTime instead of actual last event time to make sure
+ * that the grab is released in any case.
+ */
+ myScreenUngrabKeyboard (screen_info, CurrentTime);
+ myScreenUngrabPointer (screen_info, CurrentTime);
+
if (passdata.grab && screen_info->params->box_move)
{
myDisplayUngrabServer (display_info);
@@ -1491,8 +1496,8 @@
TRACE ("grab failed in clientResize");
gdk_beep ();
- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+ myScreenUngrabKeyboard (screen_info, CurrentTime);
+ myScreenUngrabPointer (screen_info, CurrentTime);
return;
}
@@ -1563,9 +1568,14 @@
gtk_main ();
eventFilterPop (display_info->xfilter);
}
- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+ /*
+ * Use CurrentTime instead of actual last event time to make sure
+ * that the grab is released in any case.
+ */
+ myScreenUngrabKeyboard (screen_info, CurrentTime);
+ myScreenUngrabPointer (screen_info, CurrentTime);
+
if (passdata.grab && screen_info->params->box_resize)
{
myDisplayUngrabServer (display_info);
More information about the Xfce4-commits
mailing list