From c42c7be0501b33730adb107727f6a31c931df6a5 Mon Sep 17 00:00:00 2001 From: Richard Hult Date: Tue, 23 Oct 2007 13:06:31 +0000 Subject: Maintain a list for the stacking order of windows. Implement lower and 2007-10-23 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (gdk_window_raise, gdk_window_lower, gdk_window_new, _gdk_windowing_window_destroy): Maintain a list for the stacking order of windows. Implement lower and raise for child windows. The list for toplevels is created on demand, and cleared when a window gets or resigns main status and when new windows are created. (find_child_window_helper): Use the sorted list to go through windows from top to bottom. Take any titlebar in consideration for toplevels, to stop events from sometimes punching through (bugs #473813 and #489370). svn path=/trunk/; revision=18940 --- gdk/quartz/gdkwindow-quartz.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gdk/quartz/gdkwindow-quartz.h') diff --git a/gdk/quartz/gdkwindow-quartz.h b/gdk/quartz/gdkwindow-quartz.h index ce5e0ba520..090c0cca0f 100644 --- a/gdk/quartz/gdkwindow-quartz.h +++ b/gdk/quartz/gdkwindow-quartz.h @@ -66,6 +66,9 @@ struct _GdkWindowImplQuartz gint in_paint_rect_count; GdkWindow *transient_for; + + /* Sorted by z-order */ + GList *sorted_children; }; struct _GdkWindowImplQuartzClass -- cgit v1.2.1