From a69631fde36b382795ca06f59030f19eeaae3f42 Mon Sep 17 00:00:00 2001 From: parksanghee Date: Tue, 21 Feb 2017 18:26:43 +0900 Subject: [PATCH] Fix wrong VI issues related to depth-in senario Change-Id: I2e452aafa731474a7cec9223fb461fe7c9e3191e --- src/e_mod_effect.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 89ad4e9..9b619e9 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -243,12 +243,30 @@ _eff_object_setup(E_Client *ec, E_Effect_Group group) e_comp_object_effect_set(ec->frame, "keyboard"); else { - if ((cfg) && (cfg->depth_in_style) && (ec->effect_type)) + E_Effect_Client *efc = NULL; + E_Client *parent_ec = ec; + + efc = _eff_client_get(ec); + + while (parent_ec->parent) + parent_ec = parent_ec->parent; + + if ((parent_ec) && (parent_ec != ec) && (parent_ec->launching)) // Launchig case with parent at same time + e_comp_object_effect_set(ec->frame, cfg->effect_style); + else if ((efc) && (e_policy_client_is_home_screen(efc->reverse_ec))) // Home key effect senario + e_comp_object_effect_set(ec->frame, cfg->effect_style); + else if ((cfg) && (cfg->depth_in_style) && (ec->effect_type)) //depth-in senario e_comp_object_effect_set(ec->frame, cfg->depth_in_style); - else if ((cfg) && (cfg->effect_style)) + else if ((cfg) && (cfg->effect_style)) // normal launching case e_comp_object_effect_set(ec->frame, cfg->effect_style); else e_comp_object_effect_set(ec->frame, "no-effect"); + + EFFINF("eff Setup efc(%p) home(%d) type(%d) parent(%d)", + ec->pixmap, ec, efc, + efc? e_policy_client_is_home_screen(efc->reverse_ec) : 0, + ec->effect_type, + parent_ec == ec ? -1 : parent_ec->launching); } } @@ -824,6 +842,7 @@ _eff_cb_restack_finish_done(void *data, Evas_Object *obj, const char *sig, const } _eff_unref(ec_home); } + efc->reverse_ec = NULL; } _eff_unref(ec); -- 2.7.4