cedric pushed a commit to branch enlightenment-0.17.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=9a8690267837fc51eaf26e6b5eddd2e4166e1d29

commit 9a8690267837fc51eaf26e6b5eddd2e4166e1d29
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue Oct 22 11:26:59 2013 +0100

    backlight - fix dimming if normal level less than dim level
    
    if dim level is set to 20% but normal level has been moved to 10%...
    when we dim dont RAISE bl level to 20% - do nothing if dim > normal.
---
 src/bin/e_backlight.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c
index 3db2a8e..a75a07a 100644
--- a/src/bin/e_backlight.c
+++ b/src/bin/e_backlight.c
@@ -239,8 +239,11 @@ e_backlight_level_get(E_Zone *zone __UNUSED__)
 EAPI void
 e_backlight_mode_set(E_Zone *zone, E_Backlight_Mode mode)
 {
+   E_Backlight_Mode pmode;
+   
    // zone == NULL == everything
    if (e_config->backlight.mode == mode) return;
+   pmode = e_config->backlight.mode;
    e_config->backlight.mode = mode;
    if      (e_config->backlight.mode == E_BACKLIGHT_MODE_NORMAL)
      {
@@ -252,7 +255,10 @@ e_backlight_mode_set(E_Zone *zone, E_Backlight_Mode mode)
      }
    else if (e_config->backlight.mode == E_BACKLIGHT_MODE_DIM)
      {
-        e_backlight_level_set(zone, e_config->backlight.dim, -1.0);
+        if ((pmode != E_BACKLIGHT_MODE_NORMAL) ||
+            ((pmode == E_BACKLIGHT_MODE_NORMAL) &&
+             (e_config->backlight.normal > e_config->backlight.dim)))
+          e_backlight_level_set(zone, e_config->backlight.dim, -1.0);
      }
    else if (e_config->backlight.mode == E_BACKLIGHT_MODE_MAX)
       e_backlight_level_set(zone, 1.0, -1.0);

-- 


Reply via email to