e_comp_object/e_policy_wl: manage intercepted laucnshcreen object 61/107161/1
authorMinJeong Kim <minjjj.kim@samsung.com>
Tue, 27 Dec 2016 03:59:58 +0000 (12:59 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Tue, 27 Dec 2016 04:00:52 +0000 (13:00 +0900)
Change-Id: I5e616f47318481da6ea38da90b3222e63f469b16
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/bin/e_comp_object.c
src/bin/e_comp_object.h
src/bin/e_policy_wl.c

index 25b694d8ce618d4e99b43cfc3f289a6ebe5e63e6..18d34e107684d21b27496212f6914cb2022519f0 100644 (file)
@@ -5009,6 +5009,22 @@ e_comp_object_content_unset(Evas_Object *obj)
    return EINA_TRUE;
 }
 
+E_API Evas_Object *
+e_comp_object_content_get(Evas_Object *obj)
+{
+   API_ENTRY NULL;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(cw->ec, NULL);
+
+   if (cw->content_type == E_COMP_OBJECT_CONTENT_TYPE_INT_IMAGE)
+     {
+        INF("%p has been set to internal image object. couldn't return internal image object", cw->ec);
+        return NULL;
+     }
+
+   return cw->obj;
+}
+
 E_API E_Comp_Object_Content_Type
 e_comp_object_content_type_get(Evas_Object *obj)
 {
index b2cc3099733d8f1da3013cdc1ecf2c27a94dca40..3e991218b71666973fbfaaf4134197c0951b65dd 100644 (file)
@@ -136,6 +136,7 @@ E_API void e_comp_object_layer_update(Evas_Object *obj, Evas_Object *above, Evas
 
 E_API Eina_Bool                  e_comp_object_content_set(Evas_Object* obj, Evas_Object *content, E_Comp_Object_Content_Type type);
 E_API Eina_Bool                  e_comp_object_content_unset(Evas_Object* obj);
+E_API Evas_Object               *e_comp_object_content_get(Evas_Object* obj);
 E_API E_Comp_Object_Content_Type e_comp_object_content_type_get(Evas_Object* obj);
 
 E_API void e_comp_object_dim_client_set(E_Client *ec);
index 51742462cd5c31aa3f037d54fe0aa2e3b299f820..377f2bf4efd0cadc1da0181204c00ebf25b71733 100644 (file)
@@ -4510,9 +4510,11 @@ _tzlaunch_img_iface_cb_launch(struct wl_client *client EINA_UNUSED, struct wl_re
                                            angle, indicator, options);
    if (intercepted)
      {
+        tzlaunch_img->obj = e_comp_object_content_get(ec->frame);
+
         ELOGF("TZPOL",
-              "Launchscreen object setup was successfully intercepted",
-              ec->pixmap, ec);
+              "Launchscreen object setup was successfully intercepted content(%p)",
+              ec->pixmap, ec, tzlaunch_img->obj);
      }
    else
      {
@@ -4548,7 +4550,10 @@ _tzlaunch_img_iface_cb_launch(struct wl_client *client EINA_UNUSED, struct wl_re
              ERR("Setting comp object content for %p failed!", ec);
              goto error;
           }
+     }
 
+   if (tzlaunch_img->obj)
+     {
         evas_object_ref(tzlaunch_img->obj);
 
         evas_object_event_callback_add(tzlaunch_img->obj,