summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@linux.intel.com>2008-09-29 10:54:50 +0000
committerEmmanuele Bassi <ebassi@src.gnome.org>2008-09-29 10:54:50 +0000
commit2b23dc99e79dba1297c13e9e2e0624659e4144ea (patch)
treef6b3fe7e5bdebf34fb49f177e8b827310f9289ba /gdk
parentb29d3d40827f29957ec2e4a3f37024d812563238 (diff)
downloadgtk+-2b23dc99e79dba1297c13e9e2e0624659e4144ea.tar.gz
Correctly chain up the finalize implementation.
2008-09-29 Emmanuele Bassi <ebassi@linux.intel.com> * gdk/x11/gdkinput.c: (gdk_device_class_init), (gdk_device_finalize): Correctly chain up the finalize implementation. svn path=/trunk/; revision=21542
Diffstat (limited to 'gdk')
-rw-r--r--gdk/x11/gdkinput.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/gdk/x11/gdkinput.c b/gdk/x11/gdkinput.c
index 4f2159f5f6..7fb2bfeb76 100644
--- a/gdk/x11/gdkinput.c
+++ b/gdk/x11/gdkinput.c
@@ -66,6 +66,8 @@ _gdk_init_input_core (GdkDisplay *display)
static void gdk_device_class_init (GdkDeviceClass *klass);
static void gdk_device_finalize (GObject *object);
+static gpointer gdk_device_parent_class = NULL;
+
GType
gdk_device_get_type (void)
{
@@ -99,6 +101,8 @@ gdk_device_class_init (GdkDeviceClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ gdk_device_parent_class = g_type_class_peek_parent (klass);
+
object_class->finalize = gdk_device_finalize;
}
@@ -108,17 +112,20 @@ gdk_device_finalize (GObject *object)
GdkDevicePrivate *gdkdev = (GdkDevicePrivate *)GDK_DEVICE(object);
if (!GDK_IS_CORE (gdkdev))
- {
+ {
#ifndef XINPUT_NONE
- if (gdkdev->xdevice)
- XCloseDevice (GDK_DISPLAY_XDISPLAY(gdkdev->display), gdkdev->xdevice);
- g_free (gdkdev->axes);
+ if (gdkdev->xdevice)
+ XCloseDevice (GDK_DISPLAY_XDISPLAY(gdkdev->display), gdkdev->xdevice);
+
+ g_free (gdkdev->axes);
#endif /* !XINPUT_NONE */
- g_free (gdkdev->info.name);
- g_free (gdkdev->info.keys);
- g_free (gdkdev->info.axes);
- }
+ g_free (gdkdev->info.name);
+ g_free (gdkdev->info.keys);
+ g_free (gdkdev->info.axes);
+ }
+
+ G_OBJECT_CLASS (gdk_device_parent_class)->finalize (object);
}
/**