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:
Owen Taylor
2002-11-25 22:52:36 +00:00
committed by Owen Taylor
parent bc96f137be
commit a1f5e821bf
13 changed files with 166 additions and 5 deletions

View File

@ -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);
}

View File

@ -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