diff options
author | Richard Hughes <richard@hughsie.com> | 2016-04-18 20:40:38 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2016-04-18 20:41:17 +0100 |
commit | 5256a11638c797809c183f2e468475f6a5fb7a52 (patch) | |
tree | 35667e41ab0db707dbc1d70225255c52882a8848 | |
parent | 8a5eaac276ffe16e81c58994989ec7319ef00bf2 (diff) | |
download | colord-5256a11638c797809c183f2e468475f6a5fb7a52.tar.gz |
libcolord: Fix an assert failure when connecting to sensors
Do not manually disconnect this as g_signal_connect_object() does this already.
Hopefully fixes https://github.com/hughsie/colord/issues/23
-rw-r--r-- | lib/colord/cd-device.c | 12 | ||||
-rw-r--r-- | lib/colord/cd-profile.c | 9 | ||||
-rw-r--r-- | lib/colord/cd-sensor.c | 12 |
3 files changed, 3 insertions, 30 deletions
diff --git a/lib/colord/cd-device.c b/lib/colord/cd-device.c index f1cae0f..3882d5e 100644 --- a/lib/colord/cd-device.c +++ b/lib/colord/cd-device.c @@ -2235,7 +2235,6 @@ cd_device_finalize (GObject *object) { CdDevice *device = CD_DEVICE (object); CdDevicePrivate *priv = GET_PRIVATE (device); - guint ret; g_return_if_fail (CD_IS_DEVICE (object)); @@ -2249,17 +2248,8 @@ cd_device_finalize (GObject *object) g_free (priv->vendor); g_strfreev (priv->profiling_inhibitors); g_ptr_array_unref (priv->profiles); - if (priv->proxy != NULL) { - ret = g_signal_handlers_disconnect_by_func (priv->proxy, - G_CALLBACK (cd_device_dbus_signal_cb), - device); -// g_assert (ret > 0); - ret = g_signal_handlers_disconnect_by_func (priv->proxy, - G_CALLBACK (cd_device_dbus_properties_changed_cb), - device); -// g_assert (ret > 0); + if (priv->proxy != NULL) g_object_unref (priv->proxy); - } G_OBJECT_CLASS (cd_device_parent_class)->finalize (object); } diff --git a/lib/colord/cd-profile.c b/lib/colord/cd-profile.c index d5762a4..5e3585c 100644 --- a/lib/colord/cd-profile.c +++ b/lib/colord/cd-profile.c @@ -1489,15 +1489,8 @@ cd_profile_finalize (GObject *object) g_free (priv->format); g_free (priv->title); g_strfreev (priv->warnings); - if (priv->proxy != NULL) { - g_signal_handlers_disconnect_by_func (priv->proxy, - G_CALLBACK (cd_profile_dbus_signal_cb), - profile); - g_signal_handlers_disconnect_by_func (priv->proxy, - G_CALLBACK (cd_profile_dbus_properties_changed_cb), - profile); + if (priv->proxy != NULL) g_object_unref (priv->proxy); - } G_OBJECT_CLASS (cd_profile_parent_class)->finalize (object); } diff --git a/lib/colord/cd-sensor.c b/lib/colord/cd-sensor.c index 21b6729..181fae1 100644 --- a/lib/colord/cd-sensor.c +++ b/lib/colord/cd-sensor.c @@ -1612,7 +1612,6 @@ cd_sensor_finalize (GObject *object) { CdSensor *sensor = CD_SENSOR (object); CdSensorPrivate *priv = GET_PRIVATE (sensor); - guint ret; g_return_if_fail (CD_IS_SENSOR (object)); @@ -1623,17 +1622,8 @@ cd_sensor_finalize (GObject *object) g_free (priv->vendor); g_hash_table_unref (priv->options); g_hash_table_destroy (priv->metadata); - if (priv->proxy != NULL) { - ret = g_signal_handlers_disconnect_by_func (priv->proxy, - G_CALLBACK (cd_sensor_dbus_signal_cb), - sensor); - g_assert (ret > 0); - ret = g_signal_handlers_disconnect_by_func (priv->proxy, - G_CALLBACK (cd_sensor_dbus_properties_changed_cb), - sensor); - g_assert (ret > 0); + if (priv->proxy != NULL) g_object_unref (priv->proxy); - } G_OBJECT_CLASS (cd_sensor_parent_class)->finalize (object); } |