From 8a37bb93640d95ab86b9775f8dad3904d6d14aac Mon Sep 17 00:00:00 2001 From: Richard Hult Date: Sun, 17 Feb 2008 10:01:52 +0000 Subject: [PATCH] Clear the toplevel ordering list in all places where the order is 2008-02-17 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (show_window_internal), (_gdk_quartz_window_detach_from_parent), (_gdk_quartz_window_attach_to_parent), (gdk_window_focus): Clear the toplevel ordering list in all places where the order is potentially changed. Fixes mouse focus issues for windows with a transient parent set. svn path=/trunk/; revision=19604 --- ChangeLog | 9 +++++++++ gdk/quartz/gdkwindow-quartz.c | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index c5938eaa78..731fa6b501 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-02-17 Richard Hult + + * gdk/quartz/gdkwindow-quartz.c: (show_window_internal), + (_gdk_quartz_window_detach_from_parent), + (_gdk_quartz_window_attach_to_parent), (gdk_window_focus): Clear + the toplevel ordering list in all places where the order is + potentially changed. Fixes mouse focus issues for windows with + a transient parent set. + 2008-02-17 Richard Hult * gdk/quartz/gdkevents-quartz.c diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index bbcc18199a..feb31d4fda 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1078,6 +1078,7 @@ show_window_internal (GdkWindow *window, private->window_type != GDK_WINDOW_TEMP); [(GdkQuartzWindow*)impl->toplevel showAndMakeKey:make_key]; + clear_toplevel_order (); } else { @@ -1123,6 +1124,7 @@ _gdk_quartz_window_detach_from_parent (GdkWindow *window) parent_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (impl->transient_for)->impl); [parent_impl->toplevel removeChildWindow:impl->toplevel]; + clear_toplevel_order (); } } @@ -1144,6 +1146,7 @@ _gdk_quartz_window_attach_to_parent (GdkWindow *window) parent_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (impl->transient_for)->impl); [parent_impl->toplevel addChildWindow:impl->toplevel ordered:NSWindowAbove]; + clear_toplevel_order (); } } @@ -2311,6 +2314,7 @@ gdk_window_focus (GdkWindow *window, { GDK_QUARTZ_ALLOC_POOL; [impl->toplevel makeKeyAndOrderFront:impl->toplevel]; + clear_toplevel_order (); GDK_QUARTZ_RELEASE_POOL; } }