diff options
author | Matthias Clasen <mclasen@redhat.com> | 2013-06-29 19:22:51 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2013-06-29 19:22:51 -0400 |
commit | 42e45f4f75f2a4d25d8e236e6565f4cf4f784a0e (patch) | |
tree | 61e1ad67d986aa91e605ca6bef2fd4c8757bd4d5 /gdk/x11/gdkvisual-x11.c | |
parent | 459e10196d7d6386ab43c85ee42140d07df4ff07 (diff) | |
download | gtk+-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.c | 16 |
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 |