e_service_launcher: add new arg serial of launch requests 49/214649/4
authorMinJeong Kim <minjjj.kim@samsung.com>
Wed, 25 Sep 2019 03:10:07 +0000 (12:10 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Mon, 7 Oct 2019 08:17:41 +0000 (17:17 +0900)
Change-Id: I77dd5b8d90baa64935d766d82204eac264cd4c3d
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/bin/services/e_service_launcher.c

index ed010de7d1cae1b3874cb916f6dc2b4597ec75c7..31e10fa7d6c6f7817a0d5026482d0f783d932801 100644 (file)
@@ -363,7 +363,6 @@ _launcher_prepare_shared_widget_forward_send(E_Service_Launcher *lc,
    _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,
@@ -459,7 +458,6 @@ _launcher_prepare_forward_send(E_Service_Launcher *lc,
    _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);
@@ -777,7 +775,8 @@ _launcher_cb_launch(struct wl_client *client EINA_UNUSED,
                     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;
@@ -816,6 +815,7 @@ _launcher_cb_launch(struct wl_client *client EINA_UNUSED,
      }
 
    lc->target.pid = pid;
+   lc->serial = serial;
 
    ecs = _launcher_clients_find_by_pid(pid);
    EINA_LIST_FOREACH(ecs, l, target_ec)
@@ -853,7 +853,8 @@ _launcher_cb_launch_with_shared_widget(struct wl_client *client EINA_UNUSED,
                                        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;
@@ -895,6 +896,7 @@ _launcher_cb_launch_with_shared_widget(struct wl_client *client EINA_UNUSED,
 
    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)
@@ -1167,6 +1169,7 @@ _launcher_handler_launcher_runner_set(E_Service_Launcher *lc)
               _launcher_state_set(runner, LAUNCHER_STATE_CANCELED);
               _launcher_stop_send(runner);
               runner->target.pid = -1;
+              runner->serial = 0;
               break;
            default:
               break;
@@ -1528,6 +1531,7 @@ show_deny:
    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);
@@ -1601,7 +1605,10 @@ send_stop:
    _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)