diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-11-25 22:52:36 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-11-25 22:52:36 +0000 |
commit | a1f5e821bf76fabd77a28ebeba54275a2a9cbe08 (patch) | |
tree | 6fe805565e3d87f5693b8746aa07e36577e81de6 /gdk/win32/gdkscreen-win32.c | |
parent | bc96f137bea80b46b9cdfe5604645dc2d0fa4798 (diff) | |
download | gtk+-a1f5e821bf76fabd77a28ebeba54275a2a9cbe08.tar.gz |
Fixes from #98358, Havoc Pennington.
Mon Nov 25 17:44:09 2002 Owen Taylor <otaylor@redhat.com>
Fixes from #98358, Havoc Pennington.
* gdk/{x11,win32,linux-fb}/gdkcolor-*.c (gdk_colormap_finalize):
Free the private structure.
* gdk/x11,win32,linxu-fb}/gdkscreen-*.c (gdk_screen_set_default_colormap):
gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
Keep a ref to the default colormap.
* gdk/x11/gdkscreen-x11.c (gdk_screen_x11_dispose): Unref
the default colormap.
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
Handle the CMAP == NULL case even when the window is
destroyed.
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
Add a missing ref for the system colormap.
Diffstat (limited to 'gdk/win32/gdkscreen-win32.c')
-rw-r--r-- | gdk/win32/gdkscreen-win32.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gdk/win32/gdkscreen-win32.c b/gdk/win32/gdkscreen-win32.c index 96789e658b..51850b27ea 100644 --- a/gdk/win32/gdkscreen-win32.c +++ b/gdk/win32/gdkscreen-win32.c @@ -44,7 +44,17 @@ void gdk_screen_set_default_colormap (GdkScreen *screen, GdkColormap *colormap) { - default_colormap = colormap; + GdkColormap *old_colormap; + + g_return_if_fail (GDK_IS_SCREEN (screen)); + g_return_if_fail (GDK_IS_COLORMAP (colormap)); + + old_colormap = default_colormap; + + default_colormap = g_object_ref (colormap); + + if (old_colormap) + g_object_unref (old_colormap); } gint |