summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libupower-glib/up-device.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libupower-glib/up-device.c b/libupower-glib/up-device.c
index d8978c4..9438b63 100644
--- a/libupower-glib/up-device.c
+++ b/libupower-glib/up-device.c
@@ -1259,6 +1259,12 @@ up_device_finalize (GObject *object)
device = UP_DEVICE (object);
+ if (device->priv->proxy_device != NULL) {
+ g_signal_handlers_disconnect_by_func (device->priv->proxy_device,
+ up_device_changed_cb,
+ device);
+ }
+
g_clear_object (&device->priv->proxy_device);
g_clear_pointer (&device->priv->offline_props, g_hash_table_unref);