From a7aa784c4afa94389ba5c2cdaf4fe11466421aea Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Fri, 6 Sep 2002 19:36:09 +0000 Subject: Only set gc->colormap if it isn't already set. (Alex Larsson, #90632) Fri Sep 6 15:35:01 2002 Owen Taylor * gdk/gdkgc.c (gdk_gc_new_with_values): Only set gc->colormap if it isn't already set. (Alex Larsson, #90632) --- gdk/gdkgc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gdk/gdkgc.c') diff --git a/gdk/gdkgc.c b/gdk/gdkgc.c index 0c69e10851..3066399aa9 100644 --- a/gdk/gdkgc.c +++ b/gdk/gdkgc.c @@ -104,9 +104,15 @@ gdk_gc_new_with_values (GdkDrawable *drawable, if (values_mask & GDK_GC_TS_Y_ORIGIN) gc->ts_y_origin = values->ts_y_origin; - gc->colormap = gdk_drawable_get_colormap (drawable); - if (gc->colormap) - g_object_ref (G_OBJECT (gc->colormap)); + /* gc->colormap will already be set if gdk_gc_new_with_values() + * recurses - as in GdkPixmap => impl object. + */ + if (!gc->colormap) + { + gc->colormap = gdk_drawable_get_colormap (drawable); + if (gc->colormap) + g_object_ref (G_OBJECT (gc->colormap)); + } return gc; } -- cgit v1.2.1