launch: modify code to send launch_real,done signal 53/233053/2
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 7 May 2020 04:46:57 +0000 (13:46 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Wed, 13 May 2020 07:00:54 +0000 (07:00 +0000)
Change-Id: If55bfef0e98f4d917af3acde889bb5dd1703c20e

src/bin/e_policy_wl.c
src/bin/services/e_service_launcher.c

index 771159947454e63c6412962c3ea4f4b2fb8ff552..a1421009b747d9674920c91200d4c932c40202ee 100644 (file)
@@ -6001,7 +6001,14 @@ _launch_splash_off(E_Policy_Wl_Tzlaunch_Splash *tzlaunch_splash)
 
              /* to send launch,done event to launchscreen client */
              if (!e_object_is_del(E_OBJECT(ec)))
-               e_comp_object_signal_emit(ec->frame, "e,action,launch,done", "e");
+               {
+                  if (ec->first_mapped)
+                    {
+                       ELOGF("LAUNCH", "SHOW real win by replaced splash ec", ec);
+                       e_comp_object_signal_emit(ec->frame, "e,action,launch_real,done", "e");
+                    }
+                  e_comp_object_signal_emit(ec->frame, "e,action,launch,done", "e");
+               }
           }
 
         e_comp->launchscrns = eina_list_remove(e_comp->launchscrns, ec);
index 512a5adb786ada1a8ecc4e7147e0da3197221be4..8c3da104e5324e9c9de1f4f0b43e9bd7707e08db 100644 (file)
@@ -1139,8 +1139,18 @@ _launcher_cb_launch_done(struct wl_client *client EINA_UNUSED,
      {
         if (target_ec && !e_object_is_del(E_OBJECT(target_ec)))
           {
-             ELOGF("LAUNCH", "SHOW real win (target->frame:%p) by launcher service (win:0x%08zx, ec:%p).", target_ec, target_ec->frame, e_client_util_win_get(lc->ec), lc->ec);
-             e_comp_object_signal_emit(target_ec->frame, "e,action,launch_real,done", "e");
+             if (target_ec->launching == EINA_TRUE)
+               {
+                  ELOGF("COMP", "Un-Set launching flag..", target_ec);
+                  target_ec->launching = EINA_FALSE;
+
+                  if (target_ec->first_mapped)
+                    {
+                       ELOGF("LAUNCH", "SHOW real win (target->frame:%p, map:%d) by launcher service (win:0x%08zx, ec:%p).", target_ec, target_ec->frame, target_ec->comp_data->mapped, e_client_util_win_get(lc->ec), lc->ec);
+                       e_comp_object_signal_emit(target_ec->frame, "e,action,launch_real,done", "e");
+                    }
+                  e_comp_object_signal_emit(target_ec->frame, "e,action,launch,done", "e");
+               }
           }
      }
 }