Merge lp:~ricmm/powerd/suspend-if-mir-alive into lp:powerd

Proposed by Ricardo Mendoza
Status: Merged
Merged at revision: 102
Proposed branch: lp:~ricmm/powerd/suspend-if-mir-alive
Merge into: lp:powerd
Diff against target: 61 lines (+11/-4)
2 files modified
src/display.c (+10/-3)
src/powerd-internal.h (+1/-1)
To merge this branch: bzr merge lp:~ricmm/powerd/suspend-if-mir-alive
Reviewer Review Type Date Requested Status
Didier Roche-Tolomelli Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+190173@code.launchpad.net

Commit message

Under Mir, only suspend if Mir is still alive; this is to prevent the GPU state and the display server expectations getting out of sync when starting up.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

asac tested and approve with his blood

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/display.c'
2--- src/display.c 2013-09-25 21:29:09 +0000
3+++ src/display.c 2013-10-09 16:15:06 +0000
4@@ -107,7 +107,7 @@
5 return (flags & AB_ENABLED_MASK) == AB_ENABLED;
6 }
7
8-void display_set_power_mode(int display, char *power_mode)
9+gboolean display_set_power_mode(int display, char *power_mode)
10 {
11 GError *error = NULL;
12 GDBusProxy *unity_proxy = NULL;
13@@ -132,7 +132,7 @@
14 if (error != NULL) {
15 powerd_warn("could not connect to Unity: %s", error->message);
16 g_error_free(error);
17- return;
18+ return FALSE;
19 }
20
21 GVariant *ret = g_dbus_proxy_call_sync(unity_proxy,
22@@ -146,10 +146,14 @@
23 if (ret == NULL) {
24 powerd_warn("screen power setting failed: %s", error->message);
25 g_error_free(error);
26+ g_object_unref(unity_proxy);
27+ return FALSE;
28 }
29
30 g_object_unref(unity_proxy);
31 }
32+
33+ return TRUE;
34 }
35
36 static void turn_on_display(gboolean autobrightness) {
37@@ -223,7 +227,10 @@
38 if (using_ab)
39 powerd_autobrightness_disable();
40 powerd_set_brightness(0);
41- display_set_power_mode(0, "off");
42+ if (!display_set_power_mode(0, "off")) {
43+ powerd_warn("failed to set display power mode, not clearing state");
44+ return;
45+ }
46
47 powerd_debug("Releasing internal active state request");
48 ret = clear_sys_state_internal(internal_request_cookie);
49
50=== modified file 'src/powerd-internal.h'
51--- src/powerd-internal.h 2013-09-24 13:15:40 +0000
52+++ src/powerd-internal.h 2013-10-09 16:15:06 +0000
53@@ -74,7 +74,7 @@
54 /* Display functions */
55 void powerd_brightness_set_value(gint value);
56 gboolean powerd_display_enabled(void);
57-void display_set_power_mode(int display, char *powerd_mode);
58+gboolean display_set_power_mode(int display, char *powerd_mode);
59 void powerd_set_display_state(struct powerd_display_request *req);
60 int powerd_display_init(void);
61 void powerd_proximity_event(gboolean near);

Subscribers

People subscribed via source and target branches