diff options
author | Owen Taylor <otaylor@redhat.com> | 2003-07-05 05:27:11 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2003-07-05 05:27:11 +0000 |
commit | e5561940f2a3720d1c514afdff92cf327236f550 (patch) | |
tree | e42dc1699bc92480897ac5b894ebfac48097b059 /gdk | |
parent | 58a7f9f72ac188215130697be1982459f9b0cc4d (diff) | |
download | gdk-pixbuf-e5561940f2a3720d1c514afdff92cf327236f550.tar.gz |
Move the grabs up earlier, so we don't get a big pile of uncompressed
Sat Jul 5 00:49:32 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
earlier, so we don't get a big pile of uncompressed
motion events before the grab takes effect.
* gtk/gtkdnd.c (gtk_drag_update_icon): Call
gdk_window_process_all_updates() so that the area
we are dragging over gets a change to redraw.
* gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use
gdk_window_get_position(), not gdk_window_get_origin().
* gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
gdkdisplay-x11.h: use XShapeQueryExtension to
avoid duplicate XQueryExtension when we actually
use it. Remove unnecessary caching in GdkDisplayX11.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/x11/gdkdisplay-x11.c | 1 | ||||
-rw-r--r-- | gdk/x11/gdkdisplay-x11.h | 1 | ||||
-rw-r--r-- | gdk/x11/gdkwindow-x11.c | 22 |
3 files changed, 7 insertions, 17 deletions
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 969ccb71e..30dbde9c7 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -180,7 +180,6 @@ gdk_display_open (const gchar *display_name) 10, 10, 10, 10, 0, 0, 0); display_x11->leader_window_title_set = FALSE; - display_x11->have_shape = GDK_UNKNOWN; display_x11->gravity_works = GDK_UNKNOWN; display_x11->have_render = GDK_UNKNOWN; diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index 1a19dc476..7e0692d58 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -77,7 +77,6 @@ struct _GdkDisplayX11 gboolean use_xshm; gboolean have_shm_pixmaps; - GdkTristate have_shape; GdkTristate gravity_works; GdkTristate have_render; diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 444634b86..9cf667ce4 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -3033,22 +3033,14 @@ gdk_window_add_colormap_windows (GdkWindow *window) static gboolean gdk_window_have_shape_ext (GdkDisplay *display) { - GdkDisplayX11 *display_x11; - - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); +#ifdef HAVE_SHAPE_EXT + int ignore; - display_x11 = GDK_DISPLAY_X11 (display); - - if (display_x11->have_shape == GDK_UNKNOWN) - { - int ignore; - if (XQueryExtension (display_x11->xdisplay, "SHAPE", &ignore, &ignore, &ignore)) - display_x11->have_shape = GDK_YES; - else - display_x11->have_shape = GDK_NO; - } - - return (display_x11->have_shape == GDK_YES); + return XShapeQueryExtension (GDK_DISPLAY_XDISPLAY (display), + &ignore, &ignore); +#else + return 0; +#endif } #define WARN_SHAPE_TOO_BIG() g_warning ("GdkWindow is too large to allow the use of shape masks or shape regions.") |