summaryrefslogtreecommitdiff
path: root/gdk/gdkdisplay.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2009-07-09 16:48:22 +0200
committerAlexander Larsson <alexl@redhat.com>2009-07-09 17:06:46 +0200
commit9044ec9bb9b1d08bd6674f17c7ea25fdbe3ac1ab (patch)
tree42c54b2874aa54f89adabfddd8622e2ba9e2fbbf /gdk/gdkdisplay.c
parent8031432c09c864d6fe635a8e8890c5221399fc4f (diff)
downloadgtk+-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.c56
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);
}
}