From 674abdaffcae03ba0ac82c1cd33aa194a6eac708 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Mon, 7 Apr 2003 23:46:45 +0000 Subject: [PATCH] Flush after ungrabbing the server. Mon Apr 7 19:43:15 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush after ungrabbing the server. * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed calls to XFlush(). * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): Use gdk_x11_display_grab/ungrab. --- ChangeLog | 11 +++++++++++ ChangeLog.pre-2-10 | 11 +++++++++++ ChangeLog.pre-2-4 | 11 +++++++++++ ChangeLog.pre-2-6 | 11 +++++++++++ ChangeLog.pre-2-8 | 11 +++++++++++ gdk/x11/gdkdisplay-x11.c | 6 +++++- gdk/x11/gdkimage-x11.c | 2 -- gdk/x11/gdkwindow-x11.c | 4 ++-- 8 files changed, 62 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3a772ff406..c16880e2be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Mon Apr 7 19:43:15 2003 Owen Taylor + + * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush + after ungrabbing the server. + + * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed + calls to XFlush(). + + * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): + Use gdk_x11_display_grab/ungrab. + 2003-04-07 Matthias Clasen * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 3a772ff406..c16880e2be 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,14 @@ +Mon Apr 7 19:43:15 2003 Owen Taylor + + * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush + after ungrabbing the server. + + * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed + calls to XFlush(). + + * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): + Use gdk_x11_display_grab/ungrab. + 2003-04-07 Matthias Clasen * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c, diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 3a772ff406..c16880e2be 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,14 @@ +Mon Apr 7 19:43:15 2003 Owen Taylor + + * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush + after ungrabbing the server. + + * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed + calls to XFlush(). + + * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): + Use gdk_x11_display_grab/ungrab. + 2003-04-07 Matthias Clasen * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 3a772ff406..c16880e2be 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,14 @@ +Mon Apr 7 19:43:15 2003 Owen Taylor + + * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush + after ungrabbing the server. + + * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed + calls to XFlush(). + + * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): + Use gdk_x11_display_grab/ungrab. + 2003-04-07 Matthias Clasen * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 3a772ff406..c16880e2be 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,14 @@ +Mon Apr 7 19:43:15 2003 Owen Taylor + + * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush + after ungrabbing the server. + + * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed + calls to XFlush(). + + * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): + Use gdk_x11_display_grab/ungrab. + 2003-04-07 Matthias Clasen * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c, diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index dda26b1712..e6756685ba 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -127,6 +127,7 @@ gdk_display_open (const gchar *display_name) display_x11 = GDK_DISPLAY_X11 (display); display_x11->use_xft = -1; + display_x11->use_xshm = TRUE; display_x11->xdisplay = xdisplay; /* Set up handlers for Xlib internal connections */ @@ -535,7 +536,10 @@ gdk_x11_display_ungrab (GdkDisplay * display) display_x11->grab_count--; if (display_x11->grab_count == 0) - XUngrabServer (display_x11->xdisplay); + { + XUngrabServer (display_x11->xdisplay); + XFlush (display_x11->xdisplay); + } } static void diff --git a/gdk/x11/gdkimage-x11.c b/gdk/x11/gdkimage-x11.c index b08a553a69..4db96354bf 100644 --- a/gdk/x11/gdkimage-x11.c +++ b/gdk/x11/gdkimage-x11.c @@ -533,7 +533,6 @@ _gdk_x11_copy_to_image (GdkDrawable *drawable, #define UNGRAB() G_STMT_START { \ if (have_grab) { \ gdk_x11_display_ungrab (display); \ - XFlush (xdisplay); \ have_grab = FALSE; } \ } G_STMT_END @@ -671,7 +670,6 @@ _gdk_x11_copy_to_image (GdkDrawable *drawable, if (have_grab) { gdk_x11_display_ungrab (display); - XFlush (xdisplay); have_grab = FALSE; } diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 411b87ee20..bd8320f4ab 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2774,7 +2774,7 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display, * than we'll end up with inaccurate values for win_x, win_y * and the result. */ - XGrabServer (xdisplay); + gdk_x11_display_grab (display); XQueryPointer (xdisplay, xwindow, &root, &child, &rootx, &rooty, &winx, &winy, &xmask); @@ -2789,7 +2789,7 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display, XQueryPointer (xdisplay, xwindow, &root, &xwindow, &rootx, &rooty, &winx, &winy, &xmask); } - XUngrabServer (xdisplay); + gdk_x11_display_ungrab (display); window = gdk_window_lookup_for_display (GDK_SCREEN_DISPLAY(screen), xwindow_last);