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

-- 


Reply via email to