summaryrefslogtreecommitdiff
path: root/plugins/wacom
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-01-22 21:26:10 +0100
committerCarlos Garnacho <carlosg@gnome.org>2016-01-22 21:33:23 +0100
commita92556f991569a07237dfe15e7048b342f6b3d6f (patch)
treea91141b19e58908d7f8f8712e321d9728378c87c /plugins/wacom
parent524571de2143d96806c02a0811f7289fd4de6e88 (diff)
downloadgnome-settings-daemon-a92556f991569a07237dfe15e7048b342f6b3d6f.tar.gz
wacom: Remove weak ref from the button mapping osd window to the device
It's not removed during finalization, so it's kept lingering, and called when the device is actually removed/destroyed.
Diffstat (limited to 'plugins/wacom')
-rw-r--r--plugins/wacom/gsd-wacom-osd-window.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/wacom/gsd-wacom-osd-window.c b/plugins/wacom/gsd-wacom-osd-window.c
index 18f85c8c..2bbb91df 100644
--- a/plugins/wacom/gsd-wacom-osd-window.c
+++ b/plugins/wacom/gsd-wacom-osd-window.c
@@ -2086,6 +2086,13 @@ gsd_wacom_osd_window_finalize (GObject *object)
g_clear_pointer (&priv->message, g_free);
g_clear_pointer (&priv->regular_mode_message, g_free);
g_clear_pointer (&priv->edition_mode_message, g_free);
+
+ if (priv->pad) {
+ g_object_weak_unref (G_OBJECT(priv->pad),
+ (GWeakNotify) gtk_widget_destroy,
+ osd_window);
+ }
+
if (priv->buttons) {
g_list_free_full (priv->buttons, g_object_unref);
priv->buttons = NULL;