diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c index c379ba95c..2bced6766 100644 --- a/src/bin/e_backlight.c +++ b/src/bin/e_backlight.c @@ -121,9 +121,7 @@ e_backlight_level_set(E_Zone *zone, double val, double tim) // set backlight associated with zone to val over period of tim // if tim == 0.0 - then do it instantnly, if time == -1 use some default // transition time - if (eina_streq(ecore_evas_engine_name_get(e_comp->ee), "buffer") || - strstr(ecore_evas_engine_name_get(e_comp->ee), "wayland")) - return; + if ((!e_comp->screen) || (!e_comp->screen->backlight_enabled)) return; if (val < 0.0) val = 0.0; else if (val > 1.0) val = 1.0; diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h index 8b21fea86..f0c9737a5 100644 --- a/src/bin/e_comp.h +++ b/src/bin/e_comp.h @@ -76,6 +76,7 @@ typedef struct E_Comp_Screen_Iface /* is key event eaten */ Eina_Bool (*key_up)(Ecore_Event_Key *ev); Eina_Bool relative_motion : 1; + Eina_Bool backlight_enabled : 1; } E_Comp_Screen_Iface; /* struct to hold canvas objects so that abi doesn't break diff --git a/src/bin/e_comp_x_randr.c b/src/bin/e_comp_x_randr.c index a37d562a2..ee80856e8 100644 --- a/src/bin/e_comp_x_randr.c +++ b/src/bin/e_comp_x_randr.c @@ -23,6 +23,7 @@ E_Comp_Screen_Iface xiface = .create = e_comp_x_randr_create, .apply = e_comp_x_randr_config_apply, .relative_motion = EINA_FALSE, + .backlight_enabled = EINA_TRUE, }; static void diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c index e943a750d..657eb9349 100644 --- a/src/modules/wl_drm/e_mod_main.c +++ b/src/modules/wl_drm/e_mod_main.c @@ -821,6 +821,7 @@ static E_Comp_Screen_Iface drmiface = .key_down = _drm2_key_down, .key_up = _drm2_key_up, .relative_motion = EINA_TRUE, + .backlight_enabled = EINA_TRUE, }; static Eina_Bool