]> Pileus Git - ~andy/gtk/commitdiff
Calling XFlush() after ungrabbing, to avoid problems if the app
authorOwen Taylor <otaylor@redhat.com>
Mon, 21 Apr 2003 19:11:45 +0000 (19:11 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Mon, 21 Apr 2003 19:11:45 +0000 (19:11 +0000)
Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
        Calling XFlush() after ungrabbing, to avoid problems if
        the app subsequently blocks on a long-running operation.
        (#106520, reported by Rajkumar Siva)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/x11/gdkdisplay-x11.c

index 390168add898f1d1e2cf3021216735dee14e828e..49064d98019f526b02ed5fc7c8628c2c83ba4b92 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
+       Calling XFlush() after ungrabbing, to avoid problems if
+       the app subsequently blocks on a long-running operation.
+       (#106520, reported by Rajkumar Siva)
+
 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
index 390168add898f1d1e2cf3021216735dee14e828e..49064d98019f526b02ed5fc7c8628c2c83ba4b92 100644 (file)
@@ -1,3 +1,10 @@
+Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
+       Calling XFlush() after ungrabbing, to avoid problems if
+       the app subsequently blocks on a long-running operation.
+       (#106520, reported by Rajkumar Siva)
+
 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
index 390168add898f1d1e2cf3021216735dee14e828e..49064d98019f526b02ed5fc7c8628c2c83ba4b92 100644 (file)
@@ -1,3 +1,10 @@
+Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
+       Calling XFlush() after ungrabbing, to avoid problems if
+       the app subsequently blocks on a long-running operation.
+       (#106520, reported by Rajkumar Siva)
+
 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
index 390168add898f1d1e2cf3021216735dee14e828e..49064d98019f526b02ed5fc7c8628c2c83ba4b92 100644 (file)
@@ -1,3 +1,10 @@
+Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
+       Calling XFlush() after ungrabbing, to avoid problems if
+       the app subsequently blocks on a long-running operation.
+       (#106520, reported by Rajkumar Siva)
+
 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
index 390168add898f1d1e2cf3021216735dee14e828e..49064d98019f526b02ed5fc7c8628c2c83ba4b92 100644 (file)
@@ -1,3 +1,10 @@
+Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
+       Calling XFlush() after ungrabbing, to avoid problems if
+       the app subsequently blocks on a long-running operation.
+       (#106520, reported by Rajkumar Siva)
+
 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
 
        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
index 2e3914c160a8e0a0ffd63b41a3427d26ff513a6c..20e3058e5970664f465e113e225ee4ea1910b027 100644 (file)
@@ -413,10 +413,16 @@ void
 gdk_display_pointer_ungrab (GdkDisplay *display,
                            guint32     time)
 {
+  Display *xdisplay;
+  
   g_return_if_fail (GDK_IS_DISPLAY (display));
+
+  xdisplay = GDK_DISPLAY_XDISPLAY (display);
   
   _gdk_input_ungrab_pointer (display, time);
-  XUngrabPointer (GDK_DISPLAY_XDISPLAY (display), time);
+  XUngrabPointer (xdisplay, time);
+  XFlush (xdisplay);
+  
   GDK_DISPLAY_X11 (display)->pointer_xgrab_window = NULL;
 }
 
@@ -451,9 +457,15 @@ void
 gdk_display_keyboard_ungrab (GdkDisplay *display,
                             guint32     time)
 {
+  Display *xdisplay;
+  
   g_return_if_fail (GDK_IS_DISPLAY (display));
+
+  xdisplay = GDK_DISPLAY_XDISPLAY (display);
+  
+  XUngrabKeyboard (xdisplay, time);
+  XFlush (xdisplay);
   
-  XUngrabKeyboard (GDK_DISPLAY_XDISPLAY (display), time);
   GDK_DISPLAY_X11 (display)->keyboard_xgrab_window = NULL;
 }