Wrong variant in CanSuspend and CanHibernate in ConsoleKit2 support.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Light Display Manager |
Fix Committed
|
High
|
Unassigned |
Bug Description
Systems using ConsoleKit2 instead of SystemD or elogind cannot suspend or hibernate from LightDM 1.24.0.
According to ConsoleKit2 documentation:
...
CanSuspend (out 's' can_suspend)
...
CanHibernate (out 's' can_hibernate)
...
But the code in liblightdm-
r = ck_call_function ("CanSuspend", NULL, NULL);
if (r && g_variant_
r = ck_call_function ("CanHibernate", NULL, NULL);
if (r && g_variant_
After changing "(b)" with "(s)", LightDM 1.24.0 can suspend an hibernate again in systems with ConsoleKit2.
r = ck_call_function ("CanSuspend", NULL, NULL);
if (r && g_variant_
r = ck_call_function ("CanHibernate", NULL, NULL);
if (r && g_variant_
summary: |
- Wrong variant in CanSusoend and CanHibernate in ConsoleKit2 support. + Wrong variant in CanSuspend and CanHibernate in ConsoleKit2 support. |
description: | updated |
The patch is not correct (trying to store a string into a boolean value) but you are correct on pointing out I'm not using the API correctly; thanks!