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);
}
}
}
_eff_unref(ec_home);
}
+ efc->reverse_ec = NULL;
}
_eff_unref(ec);