summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-04-25 12:52:03 +0200
committerThomas Haller <thaller@redhat.com>2016-04-25 13:43:06 +0200
commita7308bbe9cd9cf2821bea996711fb1b378facad0 (patch)
tree6a4c3e427412e37717147415858f64ad91a1928e
parentfc14d32e99a1f84b37fab0b00418540e29bef452 (diff)
downloadNetworkManager-a7308bbe9cd9cf2821bea996711fb1b378facad0.tar.gz
sleep-monitor: implement dispose() instead of finalize()
To release resources, dispose() is preferred over finalize() because it is called earlier.
-rw-r--r--src/nm-sleep-monitor-systemd.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/nm-sleep-monitor-systemd.c b/src/nm-sleep-monitor-systemd.c
index 4626da18ea..9b0f5b559d 100644
--- a/src/nm-sleep-monitor-systemd.c
+++ b/src/nm-sleep-monitor-systemd.c
@@ -241,16 +241,15 @@ nm_sleep_monitor_init (NMSleepMonitor *self)
}
static void
-finalize (GObject *object)
+dispose (GObject *object)
{
NMSleepMonitor *self = NM_SLEEP_MONITOR (object);
drop_inhibitor (self);
- if (self->sd_proxy)
- g_object_unref (self->sd_proxy);
- if (G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize != NULL)
- G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize (object);
+ g_clear_object (&self->sd_proxy);
+
+ G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->dispose (object);
}
static void
@@ -260,7 +259,7 @@ nm_sleep_monitor_class_init (NMSleepMonitorClass *klass)
gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = finalize;
+ gobject_class->dispose = dispose;
signals[SLEEPING] = g_signal_new (NM_SLEEP_MONITOR_SLEEPING,
NM_TYPE_SLEEP_MONITOR,