From bfed177813a2ca323e092511cc8fb2ffd413b127 Mon Sep 17 00:00:00 2001 From: Iain Lane Date: Tue, 19 Mar 2013 09:53:10 +0000 Subject: Use logind instead of UPower as the UPower interface we're relying on will go away --- src/datetime-service.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/datetime-service.c b/src/datetime-service.c index b0182c9..549a45c 100644 --- a/src/datetime-service.c +++ b/src/datetime-service.c @@ -1154,10 +1154,14 @@ static void session_active_change_cb (GDBusProxy * proxy, gchar * sender_name, gchar * signal_name, GVariant * parameters, gpointer user_data) { - // Just returned from suspend. Don't care about the sleep type. - if (g_strcmp0(signal_name, "NotifyResume") == 0) { - g_debug ("System has been resumed; adjusting clock"); - on_clock_skew (); + // Suspending / returning from suspend (true / false) + if (g_strcmp0(signal_name, "PrepareForSleep") == 0) { + gboolean sleeping = FALSE; + g_variant_get (parameters, "(b)", &sleeping); + if (!sleeping) { + g_debug ("System has been resumed; adjusting clock"); + on_clock_skew (); + } } return; } @@ -1171,7 +1175,7 @@ system_proxy_cb (GObject * object, GAsyncResult * res, gpointer user_data) GDBusProxy * proxy = g_dbus_proxy_new_for_bus_finish(res, &error); if (error != NULL) { - g_warning("Could not grab DBus proxy for UPower: %s", error->message); + g_warning("Could not grab DBus proxy for logind: %s", error->message); g_clear_error (&error); return; } @@ -1479,9 +1483,9 @@ main (int argc, char ** argv) g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_NONE, NULL, - "org.freedesktop.UPower", - "/org/freedesktop/UPower", - "org.freedesktop.UPower", + "org.freedesktop.login1", + "/org/freedesktop/login1", + "org.freedesktop.login1.Manager", NULL, system_proxy_cb, dbus); mainloop = g_main_loop_new(NULL, FALSE); -- cgit v1.2.3