diff options
author | Emmanuele Bassi <ebassi@linux.intel.com> | 2008-09-29 10:54:50 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@src.gnome.org> | 2008-09-29 10:54:50 +0000 |
commit | 2b23dc99e79dba1297c13e9e2e0624659e4144ea (patch) | |
tree | f6b3fe7e5bdebf34fb49f177e8b827310f9289ba /gdk | |
parent | b29d3d40827f29957ec2e4a3f37024d812563238 (diff) | |
download | gtk+-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.c | 23 |
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); } /** |