etRunner *runner = (etRunner *)data;
if (runner && runner->ev.win == obj)
{
- if(runner->ev.effect.state_smcb == E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED)
+ runner->ev.effect.state_smcb |= E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE;
+
+ if((runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED) &&
+ (runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE))
{
- runner->ev.effect.state_smcb = E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE;
runner->ev.response = runner->ev.request;
elm_exit();
}
etRunner *runner = (etRunner *)data;
if (runner && runner->ev.win == obj)
{
- runner->ev.effect.state_smcb = E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE;
+ runner->ev.effect.state_smcb |= E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE;
+
+ if((runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED) &&
+ (runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE) &&
+ (runner->ev.effect.state_smcb & E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE))
+ {
+ runner->ev.response = runner->ev.request;
+ elm_exit();
+ }
}
}
typedef enum _E_TC_EVAS_SMART_CB_STATE
{
E_TC_EVAS_SMART_CB_STATE_NONE = 0,
- E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED, // Server -> Client [PID:xxx] tizen_effect@19.start(wl_surface@41, 1)
- E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE, // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 1)
- E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 4)
+ E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED = (1 << 0), // Server -> Client [PID:xxx] tizen_effect@19.start(wl_surface@41, 1)
+ E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE = (1 << 1), // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 1)
+ E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE = (1 << 2) // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 4)
} E_TC_EFFECT_STATE;
typedef enum _E_TC_Window_Effect_type