e_tizen_launch_effect: use e_view apis 12/323412/1
authorSooChan Lim <sc1.lim@samsung.com>
Sun, 27 Apr 2025 08:28:11 +0000 (17:28 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 28 Apr 2025 06:28:31 +0000 (15:28 +0900)
e_tizesn_launch_effect uses the e_view apis instead of evas_object apis

Change-Id: I649533ed8818d757e83747b8773fbf5009fc3b83

src/bin/server/e_tizen_launch_effect.c
src/bin/windowmgr/services/e_service_launcher.c
src/include/e_view_client.h

index ba2105618b973156ad5c0a2b2156c724bc516bc9..1ab1a0f8a9de572a4f1eb5406aaaf4a1498988cb 100644 (file)
@@ -10,6 +10,8 @@
 #include "e_service_indicator_intern.h"
 #include "e_utils_intern.h"
 #include "e_tizen_ws_shell_manager_intern.h"
+#include "e_view_client_intern.h"
+#include "e_comp_canvas_intern.h"
 
 #include <tizen-launch-server-protocol.h>
 
@@ -49,17 +51,21 @@ struct _E_Tizen_Launch_Effect_Splash
    uint32_t                   angle;            /* 0, 90, 180, 270 : rotation angle */
    uint32_t                   pid;
 
-   Evas_Object               *obj;              /* launch screen image */
+   E_View_Image              *view_image;       /* launch screen image_view */
+   E_View_Edje               *view_edje;        /* launch screen edje_view */
+   E_View                    *view;             /* launch screen view */
    E_Pixmap                  *ep;               /* pixmap for launch screen client */
    E_Client                  *ec;               /* client for launch screen image */
    Ecore_Timer               *timeout;          /* launch screen image hide timer */
 
    Eina_Bool                  valid;            /* validation check */
    Eina_Bool                  replaced;
-   E_Comp_Object_Content_Type content_type;     /* type of content */
-
+   E_View_Client_External_View_Type external_view_type;     /* type of external view */
    Eina_Bool                  custom_effect_callee; /* custom effect enabled */
    const char                *appid;
+
+   struct wl_listener view_destroy_listener;
+   struct wl_listener view_hide_listener;
 };
 
 typedef enum _Launch_Img_File_type
@@ -124,15 +130,15 @@ static void
 _launch_splash_off(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
 {
    E_Client *ec = NULL;
-   Evas_Object *obj = NULL;
+   E_View_Client *view_client;
 
    if (!tzlaunch_splash->valid) return;
    if (!tzlaunch_splash->ec) return;
 
    ec = tzlaunch_splash->ec;
-   obj = tzlaunch_splash->obj;
+   view_client = e_client_view_get(ec);
 
-   tzlaunch_splash->obj = NULL;
+   tzlaunch_splash->view = NULL;
    tzlaunch_splash->ec = NULL;
    tzlaunch_splash->valid = EINA_FALSE;
    if (tzlaunch_splash->timeout) ecore_timer_del(tzlaunch_splash->timeout);
@@ -142,8 +148,6 @@ _launch_splash_off(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
    tzlaunch_splash->appid = NULL;
    eina_stringshare_del(tzlaunch_splash->path);
    tzlaunch_splash->path = NULL;
-
-
    ELOGF("TZPOL",
          "Launchscreen hide | pid %d, replaced:%d, tzlaunch_pixmap:%p, ec_pixmap:%p",
          ec, tzlaunch_splash->pid, tzlaunch_splash->replaced, tzlaunch_splash->ep, ec->pixmap);
@@ -157,7 +161,7 @@ _launch_splash_off(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
         if (ec->visible)
           {
              ec->visible = EINA_FALSE;
-             e_view_client_hide(e_client_view_get(ec));
+             e_view_client_hide(view_client);
              ec->ignored = EINA_TRUE;
           }
 
@@ -173,9 +177,9 @@ _launch_splash_off(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
         if (!e_util_strcmp("wl_pointer-cursor", ec->icccm.window_role))
           {
              // if Launchscreen is replaced to cursor, than hide
-             e_comp_object_content_unset(ec->frame);
+             e_view_client_content_unset(view_client);
+             e_view_client_hide(view_client);
              ec->visible = EINA_FALSE;
-             e_view_client_hide(e_client_view_get(ec));
              ec->ignored = EINA_TRUE;
           }
         else if (!tzlaunch_splash->replaced)
@@ -189,19 +193,16 @@ _launch_splash_off(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
                   if (ec->first_mapped)
                     {
                        ELOGF("LAUNCH", "SHOW real win by replaced splash ec", ec);
-                       e_view_client_signal_emit(e_client_view_get(ec), "e,action,launch_real,done", "e");
+                       e_view_client_signal_emit(view_client, "e,action,launch_real,done", "e");
                        e_client_launch_real_done_event_send(ec);
                     }
-                  e_view_client_signal_emit(e_client_view_get(ec), "e,action,launch,done", "e");
+                  e_view_client_signal_emit(view_client, "e,action,launch,done", "e");
                }
           }
 
         e_comp_launchscrn_ec_remove(ec);
      }
 
-   if (obj)
-     evas_object_unref(obj);
-
    tzlaunch_splash->ep = NULL;
    tzlaunch_splash->replaced = EINA_FALSE;
 }
@@ -224,21 +225,23 @@ _launch_effect_client_del(E_Client *ec)
 }
 
 static void
-_launchscreen_splash_cb_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
+_launchscreen_splash_cb_view_destroy(struct wl_listener *listener, void *data)
 {
-   E_Tizen_Launch_Effect_Splash *tzlaunch_splash = data;
+   E_Tizen_Launch_Effect_Splash *tzlaunch_splash;
 
-   if ((tzlaunch_splash) && (tzlaunch_splash->obj == obj))
-     tzlaunch_splash->obj = NULL;
+   tzlaunch_splash = wl_container_of(listener, tzlaunch_splash, view_destroy_listener);
+
+   tzlaunch_splash->view_image = NULL;
+   tzlaunch_splash->view_edje = NULL;
+   tzlaunch_splash->view = NULL;
 }
 
 static void
-_launchscreen_splash_cb_hide(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
+_launchscreen_splash_cb_view_hide(struct wl_listener *listener, void *data)
 {
-   E_Tizen_Launch_Effect_Splash *tzlaunch_splash = data;
+   E_Tizen_Launch_Effect_Splash *tzlaunch_splash;
 
-   if ((tzlaunch_splash) && (tzlaunch_splash->obj == obj))
-     _launch_splash_off(tzlaunch_splash);
+   tzlaunch_splash = wl_container_of(listener, tzlaunch_splash, view_hide_listener);
 }
 
 static Eina_Bool
@@ -274,7 +277,10 @@ _launchscreen_splash_setup(E_Tizen_Launch_Effect_Splash *splash,
                            struct wl_array *extra_config)
 {
    E_Client *ec = NULL;
-   E_Comp_Object_Content_Type content_type = 0;
+   E_View_Client *view_client;
+   E_View_Tree *view_tree_layer;
+   E_Canvas_Layer layer;
+   int comp_w = 0, comp_h = 0;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(splash->ec, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(e_client_view_get(splash->ec), EINA_FALSE);
@@ -297,67 +303,88 @@ _launchscreen_splash_setup(E_Tizen_Launch_Effect_Splash *splash,
    if (indicator)
      ELOGF("TZPOL", "Launchscreen setup | INDICATOR of the splash screen has benn deprecated. please check!", NULL);
 
-   int comp_w = 0, comp_h = 0;
+   view_client = e_client_view_get(ec);
+   layer = e_view_layer_index_get(e_view_client_view_get(view_client));
+   view_tree_layer = e_canvas_layer_view_tree_get(e_comp_canvas_get(), layer);
+
    if (splash->type == LAUNCH_IMG_FILE_TYPE_IMAGE)
       {
-         Evas_Load_Error err;
-
-         content_type = E_COMP_OBJECT_CONTENT_TYPE_EXT_IMAGE;
-         splash->obj = evas_object_image_add(e_comp_evas_get());
-         EINA_SAFETY_ON_NULL_RETURN_VAL(splash->obj, EINA_FALSE);
-
-         evas_object_image_file_set(splash->obj, splash->path, NULL);
-
-         err = evas_object_image_load_error_get(splash->obj);
-         if (err != EVAS_LOAD_ERROR_NONE)
-         {
-            ELOGF("TZPOL",
-                  "Launchscreen setup | fail to load image %s : %s",
-                  ec, splash->path, evas_load_error_str(err));
-            evas_object_del(splash->obj);
-            splash->obj = NULL;
-            return EINA_FALSE;
-         }
-
-         e_comp_size_get(&comp_w, &comp_h);
-         evas_object_image_fill_set(splash->obj, 0, 0, comp_w, comp_h);
-         evas_object_image_filled_set(splash->obj, EINA_TRUE);
+        splash->view_image = e_view_image_create(view_tree_layer);
+        EINA_SAFETY_ON_NULL_RETURN_VAL(splash->view_image, EINA_FALSE);
+
+        splash->view = e_view_image_view_get(splash->view_image);
+        if (!e_view_image_file_set(splash->view_image, splash->path, NULL))
+          {
+             ELOGF("TZPOL", "Launchscreen setup | fail to load image %s",
+                   ec, splash->path);
+
+             e_view_destroy(e_view_image_view_get(splash->view_image));
+             splash->view_image = NULL;
+             splash->view = NULL;
+
+             return EINA_FALSE;
+          }
+
+        e_comp_size_get(&comp_w, &comp_h);
+        e_view_image_fill_set(splash->view_image, 0, 0, comp_w, comp_h);
+        e_view_image_filled_set(splash->view_image, EINA_TRUE);
+
+        if (depth == 32)
+          ec->argb = EINA_TRUE;
+        else
+          ec->argb = EINA_FALSE;
+
+        ELOGF("COMP", "Set argb:%d", ec, ec->argb);
+
+        //set splash->view_edje to a content of view_client
+        if (!e_view_client_external_view_image_set(view_client, splash->view_image))
+          {
+             ERR("Launchscreen setup | setting comp object content failed ec(%p) view_image(%p)",
+                 ec, splash->view_image);
+
+             return EINA_FALSE;
+          }
+
+        ELOGF("TZPOL", "Launchscreen setup | set external_view_image(%p)", ec, splash->view_image);
       }
    else
       {
-         content_type = E_COMP_OBJECT_CONTENT_TYPE_EXT_EDJE;
-         splash->obj = edje_object_add(e_comp_evas_get());
-         EINA_SAFETY_ON_NULL_RETURN_VAL(splash->obj, EINA_FALSE);
-
-         if (!edje_object_file_set(splash->obj, splash->path, SPLASH_GROUP_NAME))
-         {
-            Edje_Load_Error err;
-
-            err = edje_object_load_error_get(splash->obj);
-            ELOGF("TZPOL",
-                  "Launchscreen setup | fail to load edje %s : %s",
-                  ec, splash->path, edje_load_error_str(err));
-            evas_object_del(splash->obj);
-            splash->obj = NULL;
-            return EINA_FALSE;
-
-         }
-
-         evas_object_move(splash->obj, 0, 0);
-         e_comp_size_get(&comp_w, &comp_h);
-         evas_object_resize(splash->obj, comp_w, comp_h);
-      }
+        splash->view_edje = e_view_edje_create(view_tree_layer);
+        EINA_SAFETY_ON_NULL_RETURN_VAL(splash->view_edje, EINA_FALSE);
 
-   if (depth == 32) ec->argb = EINA_TRUE;
-   else ec->argb = EINA_FALSE;
-   ELOGF("COMP", "Set argb:%d", ec, ec->argb);
+        splash->view = e_view_edje_view_get(splash->view_edje);
+        if (!e_view_edje_file_set(splash->view_edje, splash->path, SPLASH_GROUP_NAME))
+          {
+             ELOGF("TZPOL", "Launchscreen setup | fail to load edje %s",
+                   ec, splash->path);
 
-   //set splash->obj to a content of ec->frame
-   if (!e_comp_object_content_set(ec->frame, splash->obj, content_type))
-      {
-         ERR("Launchscreen setup | setting comp object content failed ec(%p) obj(%p)",
-            ec, splash->obj);
-         return EINA_FALSE;
+             e_view_destroy(e_view_edje_view_get(splash->view_edje));
+             splash->view_edje = NULL;
+             splash->view = NULL;
+
+             return EINA_FALSE;
+          }
+
+        e_comp_size_get(&comp_w, &comp_h);
+
+        e_view_edje_geometry_set(splash->view_edje, 0, 0, comp_w, comp_h);
+
+        if (depth == 32)
+          ec->argb = EINA_TRUE;
+        else
+          ec->argb = EINA_FALSE;
+
+        ELOGF("COMP", "Set argb:%d", ec, ec->argb);
+
+       //set splash->view_edje to a content of view_client
+       if (!e_view_client_external_view_edje_set(view_client, splash->view_edje))
+          {
+             ERR("Launchscreen setup | setting comp object content failed ec(%p) view_edje(%p)",
+                 ec, splash->view_edje);
+
+             return EINA_FALSE;
+          }
+       ELOGF("TZPOL", "Launchscreen setup | set external_view_edje(%p)", ec, splash->view_edje);
       }
 
    /* Post job of setup content_type */
@@ -391,26 +418,24 @@ _launchscreen_splash_setup(E_Tizen_Launch_Effect_Splash *splash,
                              "Launchscreen setup | custom effect callee set appid(%s)",
                              ec, splash->appid);
                     }
-                  else break;
+                  else
+                    break;
                }
           }
      }
 
-   //ref splash object
-   if (splash->obj)
+   // set event callback
+   if (splash->view)
      {
-        evas_object_ref(splash->obj);
-
-        evas_object_event_callback_add(splash->obj,
-                                       EVAS_CALLBACK_DEL,
-                                       _launchscreen_splash_cb_del, splash);
-        evas_object_event_callback_add(splash->obj,
-                                       EVAS_CALLBACK_HIDE,
-                                       _launchscreen_splash_cb_hide, splash);
+        splash->view_destroy_listener.notify = _launchscreen_splash_cb_view_destroy;
+        e_view_event_listener_add(splash->view, E_VIEW_DESTROY, &splash->view_destroy_listener);
+
+        splash->view_hide_listener.notify = _launchscreen_splash_cb_view_hide;
+        e_view_event_listener_add(splash->view, E_VIEW_HIDE, &splash->view_hide_listener);
      }
 
    splash->valid = EINA_TRUE;
-   splash->content_type = e_comp_object_content_type_get(ec->frame);
+   splash->external_view_type = e_view_client_external_view_type_get(view_client);
 
    return EINA_TRUE;
 }
@@ -448,10 +473,10 @@ _tzlaunch_splash_iface_cb_launch(struct wl_client *client EINA_UNUSED, struct wl
    if (!res)
      {
         ERR("Launchscreen launch | Could not complete %s", __FUNCTION__);
-        if (tzlaunch_splash->obj)
+        if (tzlaunch_splash->view)
           {
-             evas_object_del(tzlaunch_splash->obj);
-             tzlaunch_splash->obj = NULL;
+             e_view_destroy(tzlaunch_splash->view);
+             tzlaunch_splash->view = NULL;
           }
      }
 }
@@ -465,6 +490,8 @@ _tzlaunch_splash_iface_cb_owner(struct wl_client *client EINA_UNUSED, struct wl_
    int tw, th;
    int comp_w = 0, comp_h = 0;
    E_Comp *comp = e_comp_get();
+   E_View_Client *view_client;
+   bool ret = false;
 
    tzlaunch_splash = wl_resource_get_user_data(res_tzlaunch_splash);
    EINA_SAFETY_ON_NULL_RETURN(tzlaunch_splash);
@@ -489,9 +516,21 @@ _tzlaunch_splash_iface_cb_owner(struct wl_client *client EINA_UNUSED, struct wl_
    old_ec = tzlaunch_splash->ec;
    if (new_ec)
      {
-        if (e_comp_object_content_set(new_ec->frame,
-                                      tzlaunch_splash->obj,
-                                      tzlaunch_splash->content_type))
+        view_client = e_client_view_get(new_ec);
+
+        ERR("SOOLIM:%s %p, %p, %d, %d", __FUNCTION__, new_ec,
+         view_client,
+         tzlaunch_splash->external_view_type,
+         e_view_client_external_view_type_get(view_client)); 
+
+        if (tzlaunch_splash->external_view_type == E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_IMAGE)
+          ret = e_view_client_external_view_image_set(view_client, tzlaunch_splash->view_image);
+        else if (tzlaunch_splash->external_view_type == E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_EDJE)
+          ret = e_view_client_external_view_edje_set(view_client, tzlaunch_splash->view_edje);
+        else
+          ret = false;
+
+        if (ret)
           {
              e_client_unignore(new_ec);
              new_ec->visible = EINA_TRUE;
@@ -511,16 +550,15 @@ _tzlaunch_splash_iface_cb_owner(struct wl_client *client EINA_UNUSED, struct wl_
                   e_service_launcher_callee_register(new_ec, tzlaunch_splash->appid, tzlaunch_splash->path, SPLASH_GROUP_NAME);
                }
 
-             e_view_client_show(e_client_view_get(new_ec));
+             e_view_client_show(view_client);
              e_client_raise(new_ec);
 
              tzlaunch_splash->ec = new_ec;
              tzlaunch_splash->replaced = EINA_TRUE;
 
              ELOGF("TZPOL",
-                   "Launchscreen client changed | old(%p) new(%p) using obj(%p)",
-                   new_ec,
-                   old_ec, new_ec, tzlaunch_splash->obj);
+                   "Launchscreen client changed | old(%p) new(%p) using view(%p)",
+                   new_ec, old_ec, new_ec, tzlaunch_splash->view);
 
              /* delete ec was created for launchscreen */
              e_comp_launchscrn_ec_remove(old_ec);
@@ -530,10 +568,12 @@ _tzlaunch_splash_iface_cb_owner(struct wl_client *client EINA_UNUSED, struct wl_
              tzlaunch_splash->ep = NULL;
           }
         else
-          ERR("Can't set external content for new_ec(%p)", new_ec);
+          ERR("Can't set external view for new_ec(%p), external_view_type(%d)",
+              new_ec, e_view_client_external_view_type_get(view_client));
      }
    else
      {
+        view_client = e_client_view_get(old_ec);
         old_ec->ignored = EINA_FALSE;
         old_ec->visible = EINA_TRUE;
         if (old_ec->new_client)
@@ -546,7 +586,7 @@ _tzlaunch_splash_iface_cb_owner(struct wl_client *client EINA_UNUSED, struct wl_
              e_service_launcher_callee_register(old_ec, tzlaunch_splash->appid, tzlaunch_splash->path, SPLASH_GROUP_NAME);
           }
 
-        e_view_client_show(e_client_view_get(old_ec));
+        e_view_client_show(view_client);
         e_client_raise(old_ec);
      }
 
@@ -598,13 +638,12 @@ _tzlaunch_splash_iface_cb_launch_v2(struct wl_client *client EINA_UNUSED,
    if (!res)
      {
         ERR("Launchscreen launch_v2 | Could not complete %s", __FUNCTION__);
-        if (tzlaunch_splash->obj)
+        if (tzlaunch_splash->view)
           {
-             evas_object_del(tzlaunch_splash->obj);
-             tzlaunch_splash->obj = NULL;
+             e_view_destroy(tzlaunch_splash->view);
+             tzlaunch_splash->view = NULL;
           }
      }
-
 }
 
 static const struct tizen_launch_splash_interface _tzlaunch_splash_iface =
@@ -670,10 +709,10 @@ _tzlaunch_splash_destroy(struct wl_resource *res_tzlaunch_splash)
    tzlaunch_splash = wl_resource_get_user_data(res_tzlaunch_splash);
    EINA_SAFETY_ON_NULL_RETURN(tzlaunch_splash);
 
-   if (tzlaunch_splash->obj)
+   if (tzlaunch_splash->view)
      {
-        evas_object_event_callback_del_full(tzlaunch_splash->obj, EVAS_CALLBACK_DEL, _launchscreen_splash_cb_del, tzlaunch_splash);
-        evas_object_event_callback_del_full(tzlaunch_splash->obj, EVAS_CALLBACK_HIDE, _launchscreen_splash_cb_hide, tzlaunch_splash);
+        e_view_event_listener_del(tzlaunch_splash->view, E_VIEW_HIDE, &tzlaunch_splash->view_hide_listener);
+        e_view_event_listener_del(tzlaunch_splash->view, E_VIEW_DESTROY, &tzlaunch_splash->view_destroy_listener);
      }
 
    _launch_splash_off(tzlaunch_splash);
index 78c378a7fa128c4f332cb3bf25d4d145bcd15ec9..5be6e2147d86d8e0b59cdd77f426b7e6f6f155f5 100644 (file)
@@ -418,10 +418,12 @@ _launcher_prepare_send(E_Service_Launcher *lc,
 {
    uint32_t res_id = 0;
 
-   E_Comp_Object_Content_Type content_type = 0;
+   E_View_Client_External_View_Type externel_view_type;
    enum tws_service_launcher_target_type target_type = 0;
    const char *target_path = NULL, *target_group = NULL;
-   Evas_Object *content = NULL;
+   E_View_Image *external_view_image;
+   E_View_Edje *external_view_edje;
+   E_View_Client *view_client;
    struct wl_array info_array;
 
    int len;
@@ -434,15 +436,17 @@ _launcher_prepare_send(E_Service_Launcher *lc,
    wl_array_init(&info_array);
    if (lc->direction == TWS_SERVICE_LAUNCHER_DIRECTION_FORWARD)
      {
-        content_type = e_comp_object_content_type_get(target_ec->frame);
-        switch (content_type)
+        view_client = e_client_view_get(target_ec);
+        externel_view_type = e_view_client_external_view_type_get(view_client);
+
+        switch (externel_view_type)
           {
-           case E_COMP_OBJECT_CONTENT_TYPE_EXT_IMAGE:
-              content = e_comp_object_content_get(target_ec->frame);
-              EINA_SAFETY_ON_NULL_GOTO(content, fail);
+           case E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_IMAGE:
+              external_view_image = e_view_client_external_view_image_get(view_client);
+              EINA_SAFETY_ON_NULL_GOTO(external_view_image, fail);
 
               target_type = TWS_SERVICE_LAUNCHER_TARGET_TYPE_IMAGE;
-              evas_object_image_file_get(content, &target_path, NULL);
+              e_view_image_file_get(external_view_image, &target_path, NULL);
               EINA_SAFETY_ON_NULL_GOTO(target_path, fail);
 
               len = strlen(target_path) + 1;
@@ -451,15 +455,15 @@ _launcher_prepare_send(E_Service_Launcher *lc,
 
               strncpy(p_char, target_path, len);
               break;
-           case E_COMP_OBJECT_CONTENT_TYPE_EXT_EDJE:
-              content = e_comp_object_content_get(target_ec->frame);
-              EINA_SAFETY_ON_NULL_GOTO(content, fail);
+           case E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_EDJE:
+              external_view_edje = e_view_client_external_view_edje_get(view_client);
+              EINA_SAFETY_ON_NULL_GOTO(external_view_edje, fail);
 
               target_type = TWS_SERVICE_LAUNCHER_TARGET_TYPE_EDJE;
               target_path = lc->target.splash_path;
               target_group = lc->target.splash_group;
               if ((!target_path) || (!target_group))
-                edje_object_file_get(content, &target_path, &target_group);
+                e_view_edje_file_get(external_view_edje, &target_path, &target_group);
               EINA_SAFETY_ON_NULL_GOTO(target_path, fail);
               EINA_SAFETY_ON_NULL_GOTO(target_group, fail);
 
@@ -1337,17 +1341,21 @@ _launcher_cb_launch_done(struct wl_client *client EINA_UNUSED,
           {
              if (target_ec->launching == EINA_TRUE)
                {
+                  E_View_Client *view_client;
+                  view_client = e_client_view_get(target_ec);
+
                   ELOGF("COMP", "Un-Set launching flag..", target_ec);
                   target_ec->launching = EINA_FALSE;
 
                   if (target_ec->first_mapped)
                     {
                        E_Comp_Wl_Client_Data *target_cdata = e_client_cdata_get(target_ec);
-                       ELOGF("LAUNCH", "SHOW real win (target->frame:%p, map:%d) by launcher service (win:0x%08zx, ec:%p).", target_ec, target_ec->frame, target_cdata->mapped, e_client_util_win_get(lc->ec), lc->ec);
-                       e_view_client_signal_emit(e_client_view_get(target_ec), "e,action,launch_real,done", "e");
+                       ELOGF("LAUNCH", "SHOW real win (target->view_client:%p, map:%d) by launcher service (win:0x%08zx, ec:%p).",
+                             target_ec, view_client, target_cdata->mapped, e_client_util_win_get(lc->ec), lc->ec);
+                       e_view_client_signal_emit(view_client, "e,action,launch_real,done", "e");
                        e_client_launch_real_done_event_send(target_ec);
                     }
-                  e_comp_object_signal_emit(target_ec->frame, "e,action,launch,done", "e");
+                    e_view_client_signal_emit(view_client, "e,action,launch,done", "e");
                }
           }
      }
index 4e0968cd8bbecc9156605b4f2941fe339c294f77..3cb112eb01d50229523c335ab72009e82760d738 100644 (file)
@@ -24,9 +24,9 @@ typedef _E_View_Client_Signal_Cb E_View_Client_Signal_Cb;
 void e_view_client_alpha_set(E_View_Client *client, bool alpha);
 void e_view_client_color_get(E_View_Client *client, int *r, int *g, int *b, int *a);
 bool e_view_client_content_set(E_View_Client *client, E_View *content, E_Comp_Object_Content_Type type);
+E_View_Client_External_View_Type e_view_client_external_view_type_get(E_View_Client *client);
 E_Comp_Object_Content_Type e_view_client_content_type_get(E_View_Client *client);
 bool e_view_client_external_view_image_set(E_View_Client *client, E_View_Image *view_image);
-E_View_Client_External_View_Type e_view_client_external_view_type_get(E_View_Client *client);
 void e_view_client_damage(E_View_Client *client, int x, int y, int width, int height);
 void e_view_client_dirty(E_View_Client *client);
 E_View *e_view_client_effect_object_get(E_View_Client *client);