summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2018-01-23 12:39:09 +1300
committerRobert Ancell <robert.ancell@canonical.com>2018-01-23 12:54:09 +1300
commit85e637f69c37e3bf1d13e3f1697add3df2eb5637 (patch)
treedf2bd0bdbbeecb641930515c61527ce02bfd6604
parentff110b2d12ec41bba2d7bad03169617292bec949 (diff)
downloadlightdm-git-lightdm-1-10.tar.gz
Fix incorrect use of ConsoleKit CanSuspend/Hibernate APIlightdm-1-10
-rw-r--r--liblightdm-gobject/power.c16
-rw-r--r--tests/src/test-runner.c8
2 files changed, 16 insertions, 8 deletions
diff --git a/liblightdm-gobject/power.c b/liblightdm-gobject/power.c
index b81165de..0c07726e 100644
--- a/liblightdm-gobject/power.c
+++ b/liblightdm-gobject/power.c
@@ -130,9 +130,13 @@ lightdm_get_can_suspend (void)
}
if (!r)
{
+ const gchar *result;
r = ck_call_function ("CanSuspend", NULL, NULL);
- if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
- g_variant_get (r, "(b)", &can_suspend);
+ if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(s)")))
+ {
+ g_variant_get (r, "(&s)", &result);
+ can_suspend = g_strcmp0 (result, "yes") == 0;
+ }
}
if (!r)
{
@@ -208,9 +212,13 @@ lightdm_get_can_hibernate (void)
}
if (!r)
{
+ const gchar *result;
r = ck_call_function ("CanHibernate", NULL, NULL);
- if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
- g_variant_get (r, "(b)", &can_hibernate);
+ if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(s)")))
+ {
+ g_variant_get (r, "(&s)", &result);
+ can_hibernate = g_strcmp0 (result, "yes") == 0;
+ }
}
if (!r)
{
diff --git a/tests/src/test-runner.c b/tests/src/test-runner.c
index 503b04a7..19bf32c4 100644
--- a/tests/src/test-runner.c
+++ b/tests/src/test-runner.c
@@ -1241,12 +1241,12 @@ handle_ck_call (GDBusConnection *connection,
else if (strcmp (method_name, "CanSuspend") == 0)
{
check_status ("CONSOLE-KIT CAN-SUSPEND");
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(b)", TRUE));
+ g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", "yes"));
}
else if (strcmp (method_name, "CanHibernate") == 0)
{
check_status ("CONSOLE-KIT CAN-HIBERNATE");
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(b)", TRUE));
+ g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", "yes"));
}
else if (strcmp (method_name, "CloseSession") == 0)
g_dbus_method_invocation_return_value (invocation, g_variant_new ("(b)", TRUE));
@@ -1358,10 +1358,10 @@ ck_name_acquired_cb (GDBusConnection *connection,
" <arg name='can_stop' direction='out' type='b'/>"
" </method>"
" <method name='CanSuspend'>"
- " <arg name='can_suspend' direction='out' type='b'/>"
+ " <arg name='can_suspend' direction='out' type='s'/>"
" </method>"
" <method name='CanHibernate'>"
- " <arg name='can_hibernate' direction='out' type='b'/>"
+ " <arg name='can_hibernate' direction='out' type='s'/>"
" </method>"
" <method name='CloseSession'>"
" <arg name='cookie' direction='in' type='s'/>"