Maintain a list for the stacking order of windows. Implement lower and

2007-10-23  Richard Hult  <richard@imendio.com>

	* 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
This commit is contained in:
Richard Hult
2007-10-23 13:06:31 +00:00
committed by Richard Hult
parent 1f36660d8d
commit c42c7be050
3 changed files with 174 additions and 14 deletions

View File

@ -66,6 +66,9 @@ struct _GdkWindowImplQuartz
gint in_paint_rect_count;
GdkWindow *transient_for;
/* Sorted by z-order */
GList *sorted_children;
};
struct _GdkWindowImplQuartzClass