gtk+ r19936 - in branches/gtk-2-12: . gdk/quartz
- From: rhult svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r19936 - in branches/gtk-2-12: . gdk/quartz
- Date: Tue, 25 Mar 2008 14:21:46 +0000 (GMT)
Author: rhult
Date: Tue Mar 25 14:21:45 2008
New Revision: 19936
URL: http://svn.gnome.org/viewvc/gtk+?rev=19936&view=rev
Log:
2008-03-25 Richard Hult <richard imendio com>
Merged from trunk:
* 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.
Modified:
branches/gtk-2-12/ChangeLog
branches/gtk-2-12/gdk/quartz/gdkevents-quartz.c
branches/gtk-2-12/gdk/quartz/gdkwindow-quartz.c
Modified: branches/gtk-2-12/gdk/quartz/gdkevents-quartz.c
==============================================================================
--- branches/gtk-2-12/gdk/quartz/gdkevents-quartz.c (original)
+++ branches/gtk-2-12/gdk/quartz/gdkevents-quartz.c Tue Mar 25 14:21:45 2008
@@ -1103,7 +1103,7 @@
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. */
Modified: branches/gtk-2-12/gdk/quartz/gdkwindow-quartz.c
==============================================================================
--- branches/gtk-2-12/gdk/quartz/gdkwindow-quartz.c (original)
+++ branches/gtk-2-12/gdk/quartz/gdkwindow-quartz.c Tue Mar 25 14:21:45 2008
@@ -1123,7 +1123,10 @@
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;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]