Merge lp:~albaguirre/unity-system-compositor/fix-1336411 into lp:unity-system-compositor

Proposed by Alberto Aguirre
Status: Merged
Approved by: kevin gunn
Approved revision: 145
Merged at revision: 145
Proposed branch: lp:~albaguirre/unity-system-compositor/fix-1336411
Merge into: lp:unity-system-compositor
Diff against target: 87 lines (+17/-15)
3 files modified
src/powerd_mediator.cpp (+2/-10)
src/powerd_mediator.h (+2/-3)
src/screen_state_handler.cpp (+13/-2)
To merge this branch: bzr merge lp:~albaguirre/unity-system-compositor/fix-1336411
Reviewer Review Type Date Requested Status
Robert Carr (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+225209@code.launchpad.net

Commit message

Request disabling suspend before turning backlight/display on (LP: #1336411)

Description of the change

Request disabling suspend before turning backlight/display on (LP: #1336411)

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
Robert Carr (robertcarr) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/powerd_mediator.cpp'
2--- src/powerd_mediator.cpp 2014-06-25 14:43:36 +0000
3+++ src/powerd_mediator.cpp 2014-07-01 17:14:48 +0000
4@@ -187,22 +187,14 @@
5 backlight_state = new_state;
6 }
7
8-void PowerdMediator::set_sys_state_for(MirPowerMode mode)
9-{
10- if (mode == MirPowerMode::mir_power_mode_off)
11- release_sys_state();
12- else
13- acquire_sys_state();
14-}
15-
16-void PowerdMediator::release_sys_state()
17+void PowerdMediator::allow_suspend()
18 {
19 if (acquired_sys_state)
20 powerd_interface->call("clearSysState", sys_state_cookie);
21 acquired_sys_state = false;
22 }
23
24-void PowerdMediator::acquire_sys_state()
25+void PowerdMediator::disable_suspend()
26 {
27 if (!acquired_sys_state)
28 {
29
30=== modified file 'src/powerd_mediator.h'
31--- src/powerd_mediator.h 2014-06-24 22:28:12 +0000
32+++ src/powerd_mediator.h 2014-07-01 17:14:48 +0000
33@@ -42,7 +42,8 @@
34 void set_dim_backlight();
35 void set_normal_backlight();
36 void turn_off_backlight();
37- void set_sys_state_for(MirPowerMode mode);
38+ void allow_suspend();
39+ void disable_suspend();
40
41 void change_backlight_values(int dim_brightness, int normal_brightness);
42 void enable_auto_brightness(bool flag);
43@@ -65,8 +66,6 @@
44 automatic
45 };
46 void change_backlight_state(BacklightState state);
47- void release_sys_state();
48- void acquire_sys_state();
49 void init_brightness_params();
50
51 int dim_brightness;
52
53=== modified file 'src/screen_state_handler.cpp'
54--- src/screen_state_handler.cpp 2014-06-23 16:28:06 +0000
55+++ src/screen_state_handler.cpp 2014-07-01 17:14:48 +0000
56@@ -148,9 +148,17 @@
57 );
58
59 compositor->stop();
60+
61+ bool const power_on = mode == MirPowerMode::mir_power_mode_on;
62+ if (power_on)
63+ {
64+ //Some devices do not turn screen on properly from suspend mode
65+ powerd_mediator->disable_suspend();
66+ }
67+
68 display->configure(*displayConfig.get());
69
70- if (mode == MirPowerMode::mir_power_mode_on)
71+ if (power_on)
72 {
73 compositor->start();
74 powerd_mediator->set_normal_backlight();
75@@ -161,8 +169,11 @@
76 }
77
78 current_power_mode = mode;
79- powerd_mediator->set_sys_state_for(mode);
80+
81 dbus_screen->emit_power_state_change(mode, reason);
82+
83+ if (!power_on)
84+ powerd_mediator->allow_suspend();
85 }
86
87 void ScreenStateHandler::cancel_timers_l()

Subscribers

People subscribed via source and target branches