From a7308bbe9cd9cf2821bea996711fb1b378facad0 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 25 Apr 2016 12:52:03 +0200 Subject: [PATCH] sleep-monitor: implement dispose() instead of finalize() To release resources, dispose() is preferred over finalize() because it is called earlier. --- src/nm-sleep-monitor-systemd.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/nm-sleep-monitor-systemd.c b/src/nm-sleep-monitor-systemd.c index 4626da18e..9b0f5b559 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,