From 1c5aa36ee95a9e33e3a41f8f32d2f1bbe13aab1c Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Tue, 22 Oct 2013 11:26:59 +0100 Subject: [PATCH] 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 4dfb894cc..aeaf10376 100644 --- a/src/bin/e_backlight.c +++ b/src/bin/e_backlight.c @@ -241,8 +241,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) { @@ -254,7 +257,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);