There is a focus bug that client appended to focus stack despite it
isn't shown ever.
If client calls evas_object_show & lower, post lower set to client and
doing stack lower.
And Intercept_lower calls focus_stack_lower so that the client appended
to focus stack.
But, the client do not included to focus stack before first shown.
For solve this problem, make post_raise_lower_set little earlier and
didn't call focus_stack_lower if the post_lower set.
Change-Id: I0e9809ca7aa358f88cf5b21bc64dd5f6b29ab996
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
_e_comp_object_transform_obj_stack_update(obj);
end:
- e_client_focus_stack_lower(cw->ec);
+ if (!cw->ec->post_lower)
+ e_client_focus_stack_lower(cw->ec);
TRACE_DS_END();
}
if (e_policy_visibility_client_lower(ec))
return;
- evas_object_lower(ec->frame);
-
if ((ec->comp_data) && (!ec->comp_data->mapped))
{
ELOGF("TZPOL", "POST_RAISE_LOWER SET... raise:%d, lower:%d", ec, EINA_FALSE, EINA_TRUE);
e_client_post_raise_lower_set(ec, EINA_FALSE, EINA_TRUE);
}
+ evas_object_lower(ec->frame);
+
if (ec->focused)
e_client_revert_focus(ec);
}