* will return NULL for fake layers (eg. wayland)
*/
if (e_comp->layers[cw->layer].obj)
- layer_cw = evas_object_smart_data_get(e_comp->layers[cw->layer].obj);
+ {
+ if (evas_object_smart_smart_get(e_comp->layers[cw->layer].obj))
+ layer_cw = evas_object_smart_data_get(e_comp->layers[cw->layer].obj);
+ }
if (layer_cw == cw) layer_cw = NULL;
if (above)
e_comp->layers[above->layer].clients = eina_inlist_append_relative(e_comp->layers[above->layer].clients, EINA_INLIST_GET(cw->ec), EINA_INLIST_GET(above->ec));
{
evas_object_raise(obj);
- E_Client *ec = e_comp_object_client_get(obj);
- if (ec)
- _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ if (evas_object_smart_smart_get(obj))
+ {
+ E_Client *ec = e_comp_object_client_get(obj);
+ if (ec)
+ _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ }
}
static void
{
evas_object_lower(obj);
- E_Client *ec = e_comp_object_client_get(obj);
- if (ec)
- _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ if (evas_object_smart_smart_get(obj))
+ {
+ E_Client *ec = e_comp_object_client_get(obj);
+ if (ec)
+ _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ }
}
static void
{
evas_object_stack_above(obj, target);
- E_Client *ec = e_comp_object_client_get(obj);
- if (ec)
- _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ if (evas_object_smart_smart_get(obj))
+ {
+ E_Client *ec = e_comp_object_client_get(obj);
+ if (ec)
+ _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ }
}
static void
{
evas_object_stack_below(obj, target);
- E_Client *ec = e_comp_object_client_get(obj);
- if (ec)
- _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ if (evas_object_smart_smart_get(obj))
+ {
+ E_Client *ec = e_comp_object_client_get(obj);
+ if (ec)
+ _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec);
+ }
}
static Eina_Bool
TRACE_DS_BEGIN(COMP:INTERCEPT STACK BELOW);
_e_comp_intercept_stack_helper(data, below, _e_comp_object_stack_below);
- _e_comp_object_transform_obj_stack_update(obj);
- _e_comp_object_transform_obj_stack_update(below);
+ if (evas_object_smart_smart_get(obj))
+ _e_comp_object_transform_obj_stack_update(obj);
+ if (evas_object_smart_smart_get(below))
+ _e_comp_object_transform_obj_stack_update(below);
TRACE_DS_END();
}
o && o != e_comp->layers[cw->layer - 1].obj;
op = o, o = evas_object_below_get(o))
{
- E_Client *ec;
+ if (evas_object_smart_smart_get(o))
+ {
+ E_Client *ec;
- ec = e_comp_object_client_get(o);
- if (ec && (!ec->override)) break;
+ ec = e_comp_object_client_get(o);
+ if (ec && (!ec->override)) break;
+ }
}
_e_comp_object_stack_below(obj, op);
e_client_focus_defer_set(cw->ec);