From: Yunhee Seo Date: Mon, 23 Sep 2024 02:25:21 +0000 (+0900) Subject: [Power] Fix variable type to avoid invalidation X-Git-Tag: accepted/tizen/unified/20240924.153222^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10ec12c2dfa91693abc49e2a29284c06b010f1d1;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Power] Fix variable type to avoid invalidation [Bug] Double can be represented with some inaccuracy e.g. 30.0 can be 29.999999 which in case of casting to int is casted to 29 instead of 30 as expected. [Solution] Added std round to proper round double value to closest inteager instead of cutting of the decimal part of number. Change-Id: I20e889df9d6a0ff4434fc18b77016287f0bd45c7 Signed-off-by: Yunhee Seo --- diff --git a/src/power/power_manager.cc b/src/power/power_manager.cc index 4973b0c4..db0b4fc6 100644 --- a/src/power/power_manager.cc +++ b/src/power/power_manager.cc @@ -183,7 +183,7 @@ PlatformResult PowerManager::SetScreenBrightness(double brightness) { return result; } - int platform_brightness = (int)(brightness * max_brightness_); + int platform_brightness = std::round(brightness * max_brightness_); if (0 == platform_brightness) { // The value '0' on native level is treated as setting ScreenState to "SCREEN_DIM", thus the // brightness values come from range from 1 to max_brightness_ (which is usually equal to