summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2018-04-12 13:45:35 +0200
committerBenjamin Berg <bberg@redhat.com>2018-04-12 14:01:15 +0200
commitd046f6dadbf4ad134cc77cfb5dd435b9ac64ac26 (patch)
treeefc7be23e5616b817f50945a58d504ea9c5c1b6c
parent20526020b08ed9eade4d6c273a7c3cd535cfab49 (diff)
downloadgnome-settings-daemon-d046f6dadbf4ad134cc77cfb5dd435b9ac64ac26.tar.gz
power: Add error logging to async dbus calls without a callback
Just silently dropping the error is not really useful and makes debugging harder.
-rw-r--r--plugins/power/gsd-power-manager.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index 78ec8890..b318ee7f 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -881,6 +881,22 @@ gnome_session_logout (GsdPowerManager *manager,
}
static void
+dbus_call_log_error (GObject *source_object,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ g_autoptr(GVariant) result;
+ g_autoptr(GError) error = NULL;
+ const gchar *msg = user_data;
+
+ result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source_object),
+ res,
+ &error);
+ if (result == NULL)
+ g_warning ("%s: %s", msg, error->message);
+}
+
+static void
action_poweroff (GsdPowerManager *manager)
{
if (manager->priv->logind_proxy == NULL) {
@@ -893,8 +909,8 @@ action_poweroff (GsdPowerManager *manager)
G_DBUS_CALL_FLAGS_NONE,
G_MAXINT,
NULL,
- NULL,
- NULL);
+ dbus_call_log_error,
+ "Error calling PowerOff");
}
static void
@@ -933,8 +949,8 @@ action_suspend (GsdPowerManager *manager)
G_DBUS_CALL_FLAGS_NONE,
G_MAXINT,
NULL,
- NULL,
- NULL);
+ dbus_call_log_error,
+ "Error calling suspend action");
}
static void
@@ -950,8 +966,8 @@ action_hibernate (GsdPowerManager *manager)
G_DBUS_CALL_FLAGS_NONE,
G_MAXINT,
NULL,
- NULL,
- NULL);
+ dbus_call_log_error,
+ "Error calling Hibernate");
}
static void