Eina_Bool with_swl; //it's for shared widget launch
Eina_Bool swl_done; //flag indicating done of callee
+
+ Eina_Bool block_input; //input is blocked(1) or not(0) while running client side animation
};
struct _E_Service_Launcher_Handler
return clients;
}
+
+static void
+_launcher_cb_input_block_expired(void *data)
+{
+ E_Service_Launcher *lc = (E_Service_Launcher*)data;
+ EINA_SAFETY_ON_NULL_RETURN(lc);
+
+ lc->block_input = EINA_FALSE;
+
+ ELOGF("LAUNCHER_SRV", "Input block EXPIRED", lc->ec);
+}
+
+static Eina_Bool
+_launcher_input_block_set(E_Service_Launcher *lc, Eina_Bool set)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(lc, EINA_FALSE);
+
+ if (set)
+ {
+ //request for block all input
+ lc->block_input = e_devicemgr_block_internal_add(ECORE_DEVICE_CLASS_NONE,
+ EINA_TRUE,
+ (uint32_t)(e_policy_visibility_timeout_get() * 1000),
+ _launcher_cb_input_block_expired, lc);
+ return lc->block_input;
+ }
+ else
+ {
+ return e_devicemgr_block_internal_remove(_launcher_cb_input_block_expired, lc);
+ }
+}
+
static const char*
_launcher_state_to_str(Launcher_State state)
{
if ((!success) && (target_ec))
e_policy_animatable_lock(target_ec, E_POLICY_ANIMATABLE_CUSTOMIZED, 0);
+ if (!_launcher_input_block_set(lc, EINA_FALSE))
+ ELOGF("LAUNCHER_SRV", "Input block remove FAIL...", lc->ec);
+
if (lc->vis_grab)
e_policy_visibility_client_grab_release(lc->vis_grab);
if (lc->target.vis_grab)
if ((!success) && (target_ec))
e_policy_animatable_lock(target_ec, E_POLICY_ANIMATABLE_CUSTOMIZED, 0);
+ if (!_launcher_input_block_set(lc, EINA_FALSE))
+ ELOGF("LAUNCHER_SRV", "Input block remove FAIL...", lc->ec);
+
if (lc->vis_grab)
e_policy_visibility_client_grab_release(lc->vis_grab);
if (lc->target.vis_grab)
__func__);
}
+ if (!_launcher_input_block_set(lc, EINA_TRUE))
+ ELOGF("LAUNCHER_SRV", "Input block add FAIL...", lc->ec);
+
_launcher_launched_ec_set(lc, NULL);
_launcher_target_ec_set(lc, target_ec);
lc->target.vis_grab = e_policy_visibility_client_filtered_grab_get(target_ec, job_type, __func__);
}
+ if (!_launcher_input_block_set(lc, EINA_TRUE))
+ ELOGF("LAUNCHER_SRV", "Input block add FAIL...", lc->ec);
+
_launcher_launched_ec_set(lc, NULL);
_launcher_target_ec_set(lc, target_ec);
E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY),
__func__);
+ if (!_launcher_input_block_set(lc, EINA_TRUE))
+ ELOGF("LAUNCHER_SRV", "Input block add FAIL...", lc->ec);
+
_launcher_launched_ec_set(lc, NULL);
_launcher_target_ec_set(lc, target_ec);
lc->target.vis_grab = e_policy_visibility_client_filtered_grab_get(target_ec, job_type, __func__);
}
+ if (!_launcher_input_block_set(lc, EINA_TRUE))
+ ELOGF("LAUNCHER_SRV", "Input block add FAIL...", lc->ec);
+
_launcher_launched_ec_set(lc, NULL);
_launcher_target_ec_set(lc, target_ec);