summaryrefslogtreecommitdiff
path: root/gdk/x11/gdkvisual-x11.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2013-06-29 19:22:51 -0400
committerMatthias Clasen <mclasen@redhat.com>2013-06-29 19:22:51 -0400
commit42e45f4f75f2a4d25d8e236e6565f4cf4f784a0e (patch)
tree61e1ad67d986aa91e605ca6bef2fd4c8757bd4d5 /gdk/x11/gdkvisual-x11.c
parent459e10196d7d6386ab43c85ee42140d07df4ff07 (diff)
downloadgtk+-42e45f4f75f2a4d25d8e236e6565f4cf4f784a0e.tar.gz
GdkVisualX11: Add a dispose implementation
We need to be able to drop X resources before finalization.
Diffstat (limited to 'gdk/x11/gdkvisual-x11.c')
-rw-r--r--gdk/x11/gdkvisual-x11.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
index b96c3a3e0c..9901051351 100644
--- a/gdk/x11/gdkvisual-x11.c
+++ b/gdk/x11/gdkvisual-x11.c
@@ -88,11 +88,27 @@ gdk_x11_visual_finalize (GObject *object)
}
static void
+gdk_x11_visual_dispose (GObject *object)
+{
+ GdkVisual *visual = (GdkVisual *)object;
+ GdkX11Visual *x11_visual = (GdkX11Visual *)object;
+
+ if (x11_visual->colormap != None)
+ {
+ XFreeColormap (GDK_SCREEN_XDISPLAY (visual->screen), x11_visual->colormap);
+ x11_visual->colormap = None;
+ }
+
+ G_OBJECT_CLASS (gdk_x11_visual_parent_class)->dispose (object);
+}
+
+static void
gdk_x11_visual_class_init (GdkX11VisualClass *class)
{
GObjectClass *object_class = G_OBJECT_CLASS (class);
object_class->finalize = gdk_x11_visual_finalize;
+ object_class->dispose = gdk_x11_visual_dispose;
}
void