diff options
author | Alexander Larsson <alexl@redhat.com> | 2009-07-09 16:48:22 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2009-07-09 17:06:46 +0200 |
commit | 9044ec9bb9b1d08bd6674f17c7ea25fdbe3ac1ab (patch) | |
tree | 42c54b2874aa54f89adabfddd8622e2ba9e2fbbf /gdk/gdkdisplay.c | |
parent | 8031432c09c864d6fe635a8e8890c5221399fc4f (diff) | |
download | gtk+-9044ec9bb9b1d08bd6674f17c7ea25fdbe3ac1ab.tar.gz |
Correctly set enter/leave events as detail=nonlinear
If we get a nonlinear enter/leave notify on the toplevel we need
to set nonlinear in all the events we send, even if the in-toplevel
tree is linear.
This fixes combobox menus popping down immediately when you click
(not hold). (bug #587559)
Diffstat (limited to 'gdk/gdkdisplay.c')
-rw-r--r-- | gdk/gdkdisplay.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index d599ba7338..399d193999 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -856,26 +856,26 @@ synthesize_crossing_events (GdkDisplay *display, gdk_window_get_pointer (dest_toplevel, &x, &y, &state); _gdk_synthesize_crossing_events (display, - src_window, - dest_window, - crossing_mode, - x, y, state, - time, - NULL, - serial); + src_window, + dest_window, + crossing_mode, + x, y, state, + time, + NULL, + serial, FALSE); } else if (dest_toplevel == NULL) { gdk_window_get_pointer (src_toplevel, &x, &y, &state); _gdk_synthesize_crossing_events (display, - src_window, - NULL, - crossing_mode, - x, y, state, - time, - NULL, - serial); + src_window, + NULL, + crossing_mode, + x, y, state, + time, + NULL, + serial, FALSE); } else { @@ -883,23 +883,23 @@ synthesize_crossing_events (GdkDisplay *display, gdk_window_get_pointer (src_toplevel, &x, &y, &state); _gdk_synthesize_crossing_events (display, - src_window, - NULL, - crossing_mode, - x, y, state, - time, - NULL, - serial); + src_window, + NULL, + crossing_mode, + x, y, state, + time, + NULL, + serial, FALSE); gdk_window_get_pointer (dest_toplevel, &x, &y, &state); _gdk_synthesize_crossing_events (display, - NULL, - dest_window, - crossing_mode, - x, y, state, - time, - NULL, - serial); + NULL, + dest_window, + crossing_mode, + x, y, state, + time, + NULL, + serial, FALSE); } } |