discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b6d243ce1a7128582cbadf6f432d2a18cb424516
commit b6d243ce1a7128582cbadf6f432d2a18cb424516 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Sep 21 17:19:53 2015 -0400 add eeze watch for backlight events when using "system" backlight mode, ensure that events are processed as they occur so that the available backlight level is in sync with the actual backlight level fix T2255 --- src/bin/e_backlight.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c index dbd63ce..76850e1 100644 --- a/src/bin/e_backlight.c +++ b/src/bin/e_backlight.c @@ -253,6 +253,7 @@ _e_backlight_update(E_Zone *zone) if (bl_sysval) { sysmode = MODE_SYS; + xbl_avail = EINA_FALSE; _bl_sys_level_get(); return; } @@ -339,6 +340,17 @@ _bl_anim(void *data, double pos) #ifdef HAVE_EEZE static void +_bl_sys_change(const char *device, Eeze_Udev_Event event EINA_UNUSED, void *data EINA_UNUSED, Eeze_Udev_Watch *watch EINA_UNUSED) +{ + if (device == bl_sysval) + { + _bl_sys_level_get(); + ecore_event_add(E_EVENT_BACKLIGHT_CHANGE, NULL, NULL, NULL); + } + eina_stringshare_del(device); +} + +static void _bl_sys_find(void) { Eina_List *l, *devs, *pdevs = NULL; @@ -422,6 +434,7 @@ _bl_sys_find(void) } /* clear out preferred devs list */ E_FREE_LIST(pdevs, eina_stringshare_del); + eeze_udev_watch_add(EEZE_UDEV_TYPE_BACKLIGHT, EEZE_UDEV_EVENT_CHANGE, _bl_sys_change, NULL); } static void --