Merged from trunk:

2007-12-03  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_impl_quartz_begin_paint_region): Don't crash when a
	parent relative bg pixmap is set, and no parent has a bg
	pixmap. Fixes bug #500804.

svn path=/branches/gtk-2-12/; revision=19101
This commit is contained in:
Richard Hult
2007-12-03 19:37:17 +00:00
committed by Richard Hult
parent 00caaf8b51
commit 4e99673620
2 changed files with 20 additions and 1 deletions

View File

@@ -1,3 +1,12 @@
2007-12-03 Richard Hult <richard@imendio.com>
Merged from trunk:
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_impl_quartz_begin_paint_region): Don't crash when a
parent relative bg pixmap is set, and no parent has a bg
pixmap. Fixes bug #500804.
2007-12-1 Cody Russell <bratsche@gnome.org>
Merged from trunk:

View File

@@ -209,7 +209,7 @@ gdk_window_impl_quartz_begin_paint_region (GdkPaintable *paintable,
x_offset = y_offset = 0;
window = GDK_WINDOW (drawable_impl->wrapper);
while (window && ((GdkWindowObject *) window)->bg_pixmap == GDK_PARENT_RELATIVE_BG)
while (window && bg_pixmap == GDK_PARENT_RELATIVE_BG)
{
/* If this window should have the same background as the parent,
* fetch the parent. (And if the same goes for the parent, fetch
@@ -218,6 +218,16 @@ gdk_window_impl_quartz_begin_paint_region (GdkPaintable *paintable,
x_offset += ((GdkWindowObject *) window)->x;
y_offset += ((GdkWindowObject *) window)->y;
window = GDK_WINDOW (((GdkWindowObject *) window)->parent);
bg_pixmap = ((GdkWindowObject *) window)->bg_pixmap;
}
if (bg_pixmap == NULL || bg_pixmap == GDK_NO_BG || bg_pixmap == GDK_PARENT_RELATIVE_BG)
{
/* Parent relative background but the parent doesn't have a
* pixmap.
*/
g_free (rects);
return;
}
/* Note: There should be a CG API to draw tiled images, we might