diff options
author | Thomas Haller <thaller@redhat.com> | 2016-04-25 12:52:03 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-04-25 13:43:06 +0200 |
commit | a7308bbe9cd9cf2821bea996711fb1b378facad0 (patch) | |
tree | 6a4c3e427412e37717147415858f64ad91a1928e | |
parent | fc14d32e99a1f84b37fab0b00418540e29bef452 (diff) | |
download | NetworkManager-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.c | 11 |
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, |