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.
This commit is contained in:
@ -52,6 +52,7 @@ gdk_colormap_finalize (GObject *object)
|
||||
|
||||
g_free (private->info);
|
||||
g_free (colormap->colors);
|
||||
g_free (private);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
@ -51,7 +51,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);
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
Reference in New Issue
Block a user