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
=== modified file 'src/powerd_mediator.cpp'
--- src/powerd_mediator.cpp 2014-06-25 14:43:36 +0000
+++ src/powerd_mediator.cpp 2014-07-01 17:14:48 +0000
@@ -187,22 +187,14 @@
187 backlight_state = new_state;187 backlight_state = new_state;
188}188}
189189
190void PowerdMediator::set_sys_state_for(MirPowerMode mode)190void PowerdMediator::allow_suspend()
191{
192 if (mode == MirPowerMode::mir_power_mode_off)
193 release_sys_state();
194 else
195 acquire_sys_state();
196}
197
198void PowerdMediator::release_sys_state()
199{191{
200 if (acquired_sys_state)192 if (acquired_sys_state)
201 powerd_interface->call("clearSysState", sys_state_cookie);193 powerd_interface->call("clearSysState", sys_state_cookie);
202 acquired_sys_state = false;194 acquired_sys_state = false;
203}195}
204196
205void PowerdMediator::acquire_sys_state()197void PowerdMediator::disable_suspend()
206{198{
207 if (!acquired_sys_state)199 if (!acquired_sys_state)
208 {200 {
209201
=== modified file 'src/powerd_mediator.h'
--- src/powerd_mediator.h 2014-06-24 22:28:12 +0000
+++ src/powerd_mediator.h 2014-07-01 17:14:48 +0000
@@ -42,7 +42,8 @@
42 void set_dim_backlight();42 void set_dim_backlight();
43 void set_normal_backlight();43 void set_normal_backlight();
44 void turn_off_backlight();44 void turn_off_backlight();
45 void set_sys_state_for(MirPowerMode mode);45 void allow_suspend();
46 void disable_suspend();
4647
47 void change_backlight_values(int dim_brightness, int normal_brightness);48 void change_backlight_values(int dim_brightness, int normal_brightness);
48 void enable_auto_brightness(bool flag);49 void enable_auto_brightness(bool flag);
@@ -65,8 +66,6 @@
65 automatic66 automatic
66 };67 };
67 void change_backlight_state(BacklightState state);68 void change_backlight_state(BacklightState state);
68 void release_sys_state();
69 void acquire_sys_state();
70 void init_brightness_params();69 void init_brightness_params();
7170
72 int dim_brightness;71 int dim_brightness;
7372
=== modified file 'src/screen_state_handler.cpp'
--- src/screen_state_handler.cpp 2014-06-23 16:28:06 +0000
+++ src/screen_state_handler.cpp 2014-07-01 17:14:48 +0000
@@ -148,9 +148,17 @@
148 );148 );
149149
150 compositor->stop();150 compositor->stop();
151
152 bool const power_on = mode == MirPowerMode::mir_power_mode_on;
153 if (power_on)
154 {
155 //Some devices do not turn screen on properly from suspend mode
156 powerd_mediator->disable_suspend();
157 }
158
151 display->configure(*displayConfig.get());159 display->configure(*displayConfig.get());
152160
153 if (mode == MirPowerMode::mir_power_mode_on)161 if (power_on)
154 {162 {
155 compositor->start();163 compositor->start();
156 powerd_mediator->set_normal_backlight();164 powerd_mediator->set_normal_backlight();
@@ -161,8 +169,11 @@
161 }169 }
162170
163 current_power_mode = mode;171 current_power_mode = mode;
164 powerd_mediator->set_sys_state_for(mode);172
165 dbus_screen->emit_power_state_change(mode, reason);173 dbus_screen->emit_power_state_change(mode, reason);
174
175 if (!power_on)
176 powerd_mediator->allow_suspend();
166}177}
167178
168void ScreenStateHandler::cancel_timers_l()179void ScreenStateHandler::cancel_timers_l()

Subscribers

People subscribed via source and target branches