summaryrefslogtreecommitdiff
path: root/liblightdm-gobject/power.c
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:40:07 +1300
commitd022d764d5f8d1b6e389610490974306278bff02 (patch)
treec3040c15e92c89bb6b0e8bd3b3e093b98b3688e0 /liblightdm-gobject/power.c
parentffb2c9729f065064c28890bce6176175dd7778c1 (diff)
downloadlightdm-git-d022d764d5f8d1b6e389610490974306278bff02.tar.gz
Fix incorrect use of ConsoleKit CanSuspend/Hibernate APIlightdm-1-24
Diffstat (limited to 'liblightdm-gobject/power.c')
-rw-r--r--liblightdm-gobject/power.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/liblightdm-gobject/power.c b/liblightdm-gobject/power.c
index bc1ddefd..c2467e56 100644
--- a/liblightdm-gobject/power.c
+++ b/liblightdm-gobject/power.c
@@ -139,9 +139,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)
{
@@ -217,9 +221,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)
{