diff options
author | Alexander Larsson <alexl@redhat.com> | 2009-09-28 15:29:37 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2009-09-28 15:29:37 +0200 |
commit | e81501ebea4cceffce2890519807b0c243fec0a3 (patch) | |
tree | 6ae17c4baba582e93503583c13e34b7a22eec83b /gdk | |
parent | 739121dee0bddddffc43d48803ca84996f42142c (diff) | |
download | gdk-pixbuf-e81501ebea4cceffce2890519807b0c243fec0a3.tar.gz |
Sent button events don't cause passive grabs
Don't track sent button events as causing or removing
passive grabs.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/gdkwindow.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 93024accf..4130b52c2 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -9967,6 +9967,7 @@ proxy_button_event (GdkEvent *source_event, &toplevel_x, &toplevel_y); if (type == GDK_BUTTON_PRESS && + !source_event->any.send_event && _gdk_display_has_pointer_grab (display, serial) == NULL) { pointer_window = @@ -10176,6 +10177,7 @@ _gdk_windowing_got_event (GdkDisplay *display, if (_gdk_native_windows) { if (event->type == GDK_BUTTON_PRESS && + !event->any.send_event && _gdk_display_has_pointer_grab (display, serial) == NULL) { _gdk_display_add_pointer_grab (display, @@ -10189,7 +10191,8 @@ _gdk_windowing_got_event (GdkDisplay *display, _gdk_display_pointer_grab_update (display, serial); } - if (event->type == GDK_BUTTON_RELEASE) + if (event->type == GDK_BUTTON_RELEASE && + !event->any.send_event) { button_release_grab = _gdk_display_has_pointer_grab (display, serial); @@ -10312,7 +10315,8 @@ _gdk_windowing_got_event (GdkDisplay *display, unlink_event = proxy_button_event (event, serial); - if (event->type == GDK_BUTTON_RELEASE) + if (event->type == GDK_BUTTON_RELEASE && + !event->any.send_event) { button_release_grab = _gdk_display_has_pointer_grab (display, serial); |