diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 11f02acd0..d99087c27 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -211,11 +211,13 @@ _e_comp_object_layers_remove(E_Comp_Object *cw) static void _e_comp_object_shadow(E_Comp_Object *cw) { - if (!cw->frame_object) return; if (e_util_client_shadow_state_get(cw->ec)) - edje_object_signal_emit(cw->frame_object, "e,state,shadow,on", "e"); + { + edje_object_signal_emit(cw->frame_object ?: cw->shobj, "e,state,shadow,on", "e"); + edje_object_signal_emit(cw->shobj, "e,state,shadow,off", "e"); + } else - edje_object_signal_emit(cw->frame_object, "e,state,shadow,off", "e"); + edje_object_signal_emit(cw->frame_object ?: cw->shobj, "e,state,shadow,off", "e"); } static void diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c index a5f78d369..ad5033df7 100644 --- a/src/bin/e_utils.c +++ b/src/bin/e_utils.c @@ -1613,10 +1613,9 @@ EAPI Eina_Bool e_util_client_shadow_state_get(const E_Client *ec) { Eina_Bool on; + if (ec->argb || ec->shaped) return EINA_FALSE; on = !ec->e.state.video; if (on) on = !ec->fullscreen; - if (on) - on = !!e_util_strcmp(ec->border.name, "borderless"); return on; }