mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-05 16:20:10 +00:00
Bail out early if we can't find a matching window.
2008-03-25 Richard Hult <richard@imendio.com> * gdk/quartz/gdkevents-quartz.c: (_gdk_quartz_events_trigger_crossing_events): Bail out early if we can't find a matching window. * gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Add a comment, and only trigger an event for non-temp windows, fixes problems for tooltips caused by the workarounds for the problematic tracking rect API. svn path=/trunk/; revision=19934
This commit is contained in:
parent
7279939331
commit
9d8b846e80
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2008-03-25 Richard Hult <richard@imendio.com>
|
||||
|
||||
* gdk/quartz/gdkevents-quartz.c:
|
||||
(_gdk_quartz_events_trigger_crossing_events): Bail out early if we
|
||||
can't find a matching window.
|
||||
|
||||
* gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Add a
|
||||
comment, and only trigger an event for non-temp windows, fixes
|
||||
problems for tooltips caused by the workarounds for the
|
||||
problematic tracking rect API.
|
||||
|
||||
2008-03-25 Richard Hult <richard@imendio.com>
|
||||
|
||||
* gdk/quartz/gdkwindow-quartz.c:
|
||||
|
@ -1109,7 +1109,7 @@ _gdk_quartz_events_trigger_crossing_events (void)
|
||||
y = _gdk_quartz_window_get_inverted_screen_y (point.y);
|
||||
|
||||
mouse_window = _gdk_quartz_window_find_child (_gdk_root, x, y);
|
||||
if (mouse_window == _gdk_root)
|
||||
if (!mouse_window || mouse_window == _gdk_root)
|
||||
return;
|
||||
|
||||
/* NSMouseEntered always happens on the toplevel. */
|
||||
|
@ -1137,7 +1137,10 @@ show_window_internal (GdkWindow *window,
|
||||
if (impl->transient_for && !GDK_WINDOW_DESTROYED (impl->transient_for))
|
||||
_gdk_quartz_window_attach_to_parent (window);
|
||||
|
||||
if (impl->toplevel)
|
||||
/* Create a crossing event for managed windows that pop up under the
|
||||
* mouse. Part of the workarounds for problems with the tracking rect API.
|
||||
*/
|
||||
if (impl->toplevel && private->window_type != GDK_WINDOW_TEMP)
|
||||
_gdk_quartz_events_trigger_crossing_events ();
|
||||
|
||||
GDK_QUARTZ_RELEASE_POOL;
|
||||
|
Loading…
Reference in New Issue
Block a user