From: Przemyslaw Ciezkowski Date: Mon, 18 May 2015 09:49:29 +0000 (+0200) Subject: [Power] Always fetch current display state X-Git-Tag: submit/tizen_tv/20150603.064601~1^2~3^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4eb9637a2501203ced986dfffa5b176e994a5d44;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Power] Always fetch current display state If screen was OFF, requested state was DIM and Release was called sreen state change was called with state NORMAL. The fix is to fetch current state always. [Verification] PowerManager_setScreenStateChangeListener now doesn't block on mobile emulator. Change-Id: I286ad5c2d231dec6af9d6fe2766485d2f4cb59f6 Signed-off-by: Przemyslaw Ciezkowski --- diff --git a/src/power/power_manager.cc b/src/power/power_manager.cc index afcf8730..71e1d3de 100755 --- a/src/power/power_manager.cc +++ b/src/power/power_manager.cc @@ -235,14 +235,18 @@ PlatformResult PowerManager::Release(PowerResource resource) { display_state_e platform_state = DISPLAY_STATE_NORMAL; if(current_requested_state_ == POWER_STATE_SCREEN_DIM) { ret = PowerPlatformProxy::GetInstance().UnlockState(); - } else { - ret = device_display_get_state(&platform_state); + if (DEVICE_ERROR_NONE != ret) { + LoggerE("Failed to UnlockState (%d)", ret); + } } - if (DEVICE_ERROR_NONE != ret) + ret = device_display_get_state(&platform_state); + if (DEVICE_ERROR_NONE != ret) { LoggerE("device_display_get_state failed (%d)", ret); - - if (DISPLAY_STATE_NORMAL == platform_state) - BroadcastScreenState(POWER_STATE_SCREEN_NORMAL); + } else { + if (DISPLAY_STATE_NORMAL == platform_state) { + BroadcastScreenState(POWER_STATE_SCREEN_NORMAL); + } + } current_requested_state_ = POWER_STATE_NONE; } else if (POWER_RESOURCE_CPU == resource) {