_launcher_target_ec_set(lc, target_ec);
lc->direction = TWS_SERVICE_LAUNCHER_DIRECTION_FORWARD;
- lc->serial = wl_display_next_serial(e_comp_wl->wl.disp);
sent = e_tzsh_shared_widget_launch_prepare_send(target_ec,
TWS_SHARED_WIDGET_LAUNCH_PREPARE_STATE_WIDGET_HIDE,
_launcher_target_ec_set(lc, target_ec);
lc->direction = TWS_SERVICE_LAUNCHER_DIRECTION_FORWARD;
- lc->serial = wl_display_next_serial(e_comp_wl->wl.disp);
e_client_pos_get(target_ec, &x, &y);
sent = _launcher_prepare_send(lc, target_ec, x, y, NULL);
struct wl_resource *res_tws_lc,
const char *app_id,
const char *instance_id,
- int32_t pid)
+ int32_t pid,
+ uint32_t serial)
{
E_Service_Launcher *lc;
E_Service_Launcher *runner, *pre_runner;
}
lc->target.pid = pid;
+ lc->serial = serial;
ecs = _launcher_clients_find_by_pid(pid);
EINA_LIST_FOREACH(ecs, l, target_ec)
struct wl_resource *res_tws_lc,
const char *app_id,
const char *instance_id,
- int32_t pid)
+ int32_t pid,
+ uint32_t serial)
{
E_Service_Launcher *lc;
E_Service_Launcher *runner, *pre_runner;
lc->with_swl = EINA_TRUE; /* set swl flag */
lc->target.pid = pid;
+ lc->serial = serial;
ecs = _launcher_clients_find_by_pid(pid);
EINA_LIST_FOREACH(ecs, l, target_ec)
_launcher_state_set(runner, LAUNCHER_STATE_CANCELED);
_launcher_stop_send(runner);
runner->target.pid = -1;
+ runner->serial = 0;
break;
default:
break;
return EINA_FALSE;
send_stop:
runner->target.pid = -1;
+ runner->serial = 0;
_launcher_stop_send(runner);
_launcher_state_set(runner, LAUNCHER_STATE_IDLE);
_launcher_handler_launcher_runner_unset(runner);
_launcher_stop_send(runner);
if (runner->state == LAUNCHER_STATE_MONITORING)
- runner->target.pid = -1;
+ {
+ runner->target.pid = -1;
+ runner->serial = 0;
+ }
else if (runner->direction == TWS_SERVICE_LAUNCHER_DIRECTION_FORWARD)
_launcher_post_forward(runner, EINA_FALSE);
else if (runner->direction == TWS_SERVICE_LAUNCHER_DIRECTION_BACKWARD)