Revert "e_client: use e_client_mapped_get() instead of cdata->mapped." 68/246668/1
authorSooChan Lim <sc1.lim@samsung.com>
Tue, 3 Nov 2020 02:25:20 +0000 (11:25 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 3 Nov 2020 02:37:49 +0000 (11:37 +0900)
This reverts commit bb8e727c1a0d539bc179bf274096abf42ce107b6.

Change-Id: Ifebdcb01720bfcf20f178761b857941433fa17dd

13 files changed:
src/bin/e_client.c
src/bin/e_comp_object.c
src/bin/e_comp_wl.c
src/bin/e_comp_wl_capture.c
src/bin/e_comp_wl_shell.c
src/bin/e_comp_wl_subsurface.c
src/bin/e_info_server.c
src/bin/e_output.c
src/bin/e_plane_renderer.c
src/bin/e_policy_visibility.c
src/bin/e_policy_wl.c
src/bin/services/e_service_cbhm.c
src/bin/services/e_service_launcher.c

index 632fddf0ba17c232a65b612cc1da4c94a53fb0e0..f0e57c13a266c8a999f7a582c2603182c1b5b4b4 100644 (file)
@@ -2258,6 +2258,7 @@ static void
 _e_client_cb_evas_restack(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
    E_Client *ec = data;
+   E_Comp_Wl_Client_Data *child_cdata = NULL;
 
    if (e_object_is_del(data)) return;
    if (ec->layer_block) return;
@@ -2272,7 +2273,8 @@ _e_client_cb_evas_restack(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA
              /* Don't stack vkbd if parent is splitted */
              if (child->vkbd.vkbd && ec->layout.splited) continue;
 
-             if (!e_client_mapped_get(child))
+             child_cdata = e_client_cdata_get(child);
+             if (child_cdata && !child_cdata->mapped)
                {
                   ELOGF("COMP", "STACK CHANGE CHILD. BUT not mapped. skip. child(ec:%p, win:0x%08zx)", ec, child, e_client_util_win_get(child));
                   continue;
@@ -3394,7 +3396,7 @@ _e_client_visibility_zone_calculate(E_Zone *zone)
                }
              else
                {
-                  if (!e_client_mapped_get(ec))
+                  if (cdata && !cdata->mapped)
                     {
                        EC_IS_NOT_VISIBLE continue;
                        calc_region = EINA_FALSE;
@@ -6106,6 +6108,8 @@ e_client_iconify(E_Client *ec)
    E_OBJECT_CHECK(ec);
    E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
 
+   E_Comp_Wl_Client_Data *cdata = e_client_cdata_get(ec);
+
    ELOGF("TZVIS", "ICONIFY  |iconic:%d  |argb:%d       |not_raise:%d   |by_client:%d",
          ec, ec->iconic, ec->argb, (unsigned int)ec->exp_iconify.not_raise,
          ec->exp_iconify.by_client);
@@ -6114,7 +6118,7 @@ e_client_iconify(E_Client *ec)
    if (ec->shading || ec->iconic) return;
    if (ec->exp_iconify.skip_iconify && !ec->exp_iconify.by_client) return;
    if (ec->exp_iconify.skip_by_remote) return;
-   if (!e_client_mapped_get(ec))
+   if (!cdata || !cdata->mapped)
      {
         if (!ec->exp_iconify.by_client)
           {
@@ -6165,9 +6169,12 @@ e_client_uniconify(E_Client *ec)
    E_OBJECT_CHECK(ec);
    E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
 
+   E_Comp_Wl_Client_Data *cdata = e_client_cdata_get(ec);
+
    ELOGF("TZVIS", "UNICONIFY|iconic:%d  |argb:%d       |not_raise:%d  |by_client:%d  |mapped:%d",
          ec, ec->iconic, ec->argb, (unsigned int)ec->exp_iconify.not_raise,
-         ec->exp_iconify.by_client, e_client_mapped_get(ec));
+         ec->exp_iconify.by_client,
+         cdata ? cdata->mapped : 0);
 
    if (!ec->zone) return;
    if (ec->shading || (!ec->iconic)) return;
@@ -6206,7 +6213,7 @@ e_client_uniconify(E_Client *ec)
 
    if (ec->pixmap && e_pixmap_usable_get(ec->pixmap))
      {
-        if (e_client_mapped_get(ec))
+        if (cdata && cdata->mapped)
           {
              ELOGF("TZVIS", "UNICONIFY|object show", ec);
              evas_object_show(ec->frame);
index 37c242361bf49975f533f4045f866d2ffd460a62..abc9ad9a3527d6cdadedc70f1288d7c330e3989f 100644 (file)
@@ -1751,6 +1751,7 @@ _e_comp_intercept_layer_set(void *data, Evas_Object *obj, int layer)
 {
    E_Comp_Object *cw = data;
    E_Comp_Wl_Client_Data *cdata = NULL;
+   E_Comp_Wl_Client_Data *child_cdata = NULL;
    unsigned int l = e_comp_canvas_layer_map(layer);
    int oldraise;
 
@@ -1828,7 +1829,8 @@ layer_set:
         e_config->transient.raise = 1;
         EINA_LIST_FREE(list, child)
           {
-             if (!e_client_mapped_get(child))
+             child_cdata = e_client_cdata_get(child);
+             if (child_cdata && !child_cdata->mapped)
                {
                   ELOGF("COMP", "LAYER_SET CHILD. BUT not mapped. skip. child(ec:%p, win:0x%08zx)", cw->ec, child, e_client_util_win_get(child));
                   continue;
index 65ae5cae37a28fddb0af94dbd13b25555650b184..a9aa5e4f26a663c8fa01f78f9a6ba72717226011 100644 (file)
@@ -627,7 +627,7 @@ _e_comp_wl_evas_cb_hide(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EIN
     * So if this client evas object is hidden state and client is already
     * unmmapped, we can consider to clear pixmap image here mandatorily.
     */
-   if (!e_client_mapped_get(ec))
+   if (!cdata->mapped)
      e_pixmap_image_clear(ec->pixmap, 1);
 
    EINA_LIST_FOREACH(ec->e.state.video_child, l, tmp)
@@ -2595,7 +2595,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
    if (!e_pixmap_usable_get(ec->pixmap))
      {
         /* unmap ec */
-        if (e_client_mapped_get(ec))
+        if (cdata->mapped)
           {
              if ((cdata->shell.surface) &&
                  (cdata->shell.unmap))
@@ -2637,7 +2637,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
    else
      {
         /* map ec */
-        if (!e_client_mapped_get(ec))
+        if (!cdata->mapped)
           {
              if ((cdata->shell.surface) &&
                  (cdata->shell.map) &&
@@ -2906,7 +2906,7 @@ _e_comp_wl_surface_cb_attach(struct wl_client *client EINA_UNUSED, struct wl_res
           }
      }
 
-   if (!e_client_mapped_get(ec))
+   if (!cdata->mapped)
      {
         if (cdata->shell.surface &&
             !ec->internal && !cdata->sub.data && !ec->remote_surface.provider)
@@ -2917,7 +2917,7 @@ _e_comp_wl_surface_cb_attach(struct wl_client *client EINA_UNUSED, struct wl_res
 
    if (!buffer)
      {
-        if (e_client_mapped_get(ec))
+        if (cdata->mapped)
           {
              /* will be unmapped. so run capture */
              e_comp_wl_remote_surface_image_save(ec);
@@ -3100,7 +3100,7 @@ _e_comp_wl_surface_cb_commit(struct wl_client *client EINA_UNUSED, struct wl_res
    if (!cdata->first_commit)
      cdata->first_commit = EINA_TRUE;
 
-   if (!e_client_mapped_get(ec))
+   if (!cdata->mapped)
      {
         if (cdata->shell.surface && cdata->pending.new_attach &&
             !ec->internal && !cdata->sub.data && !ec->remote_surface.provider)
@@ -4508,7 +4508,7 @@ e_comp_wl_surface_commit(E_Client *ec)
 
    if (!e_pixmap_usable_get(ec->pixmap))
      {
-        if (e_client_mapped_get(ec))
+        if (cdata->mapped)
           {
              if ((cdata->shell.surface) && (cdata->shell.unmap))
                {
@@ -4531,7 +4531,7 @@ e_comp_wl_surface_commit(E_Client *ec)
      }
    else
      {
-        if (!e_client_mapped_get(ec))
+        if (!cdata->mapped)
           {
              if ((cdata->shell.surface) && (cdata->shell.map) &&
                  (!ec->ignored))
index 67d8837a39ee254a847d0e56827252ebea4edbd9..a5c1e6f79ecb1eed29dd08fa25d0622449d3f096 100644 (file)
@@ -1273,6 +1273,7 @@ _e_capture_client_child_data_check(Thread_Data *td)
    Eina_List *list, *l;
    E_Client *ec = NULL;
    E_Client *child_ec = NULL;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    ec = td->ec;
    if (!ec) return EINA_FALSE;
@@ -1282,7 +1283,9 @@ _e_capture_client_child_data_check(Thread_Data *td)
    EINA_LIST_FOREACH(list, l, child_ec)
      {
         if (e_object_is_del(E_OBJECT(child_ec))) continue;
-        if (!e_client_mapped_get(child_ec)) continue;
+        cdata = e_client_cdata_get(child_ec);
+        if (!cdata) continue;
+        if (!cdata->mapped) continue;
 
         if (child_ec->iconic && child_ec->exp_iconify.by_client)
           continue;
index 7074791d41f918cfff3a9ba4a78d98ed9530819f..1500405732344e445310a1d1f371251b834caf94 100644 (file)
@@ -444,7 +444,7 @@ e_shell_e_client_destroy(E_Client *ec)
    cdata = e_client_cdata_get(ec);
    if (!e_object_is_del(E_OBJECT(ec)))
      {
-        if (e_client_mapped_get(ec))
+        if (cdata->mapped)
           {
              if ((cdata->shell.surface) &&
                  (cdata->shell.unmap))
@@ -859,6 +859,7 @@ static void
 _e_shell_surface_map(struct wl_resource *resource)
 {
    E_Client *ec;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    if (!resource)
      return;
@@ -872,8 +873,11 @@ _e_shell_surface_map(struct wl_resource *resource)
         return;
      }
 
+   cdata = e_client_cdata_get(ec);
+   if (!cdata) return;
+
    /* map this surface if needed */
-   if ((!e_client_mapped_get(ec)) && (e_pixmap_usable_get(ec->pixmap)))
+   if ((!cdata->mapped) && (e_pixmap_usable_get(ec->pixmap)))
      {
         ELOGF("SHELL",
               "Map window  |win:0x%08x|ec_size:%d,%d|pid:%d|title:%s, name:%s",
@@ -1388,11 +1392,15 @@ static Eina_Bool
 _e_xdg_shell_surface_map_cb_timer(void *data)
 {
    E_Client *ec = data;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    if (!ec) return ECORE_CALLBACK_CANCEL;
    if (e_object_is_del(E_OBJECT(ec))) return ECORE_CALLBACK_CANCEL;
 
-   if ((!e_client_mapped_get(ec)) && (e_pixmap_usable_get(ec->pixmap)))
+   cdata = e_client_cdata_get(ec);
+   if (!cdata) return ECORE_CALLBACK_CANCEL;
+
+   if ((!cdata->mapped) && (e_pixmap_usable_get(ec->pixmap)))
      {
         ELOGF("SHELL",
               "Map window by map_timer |win:0x%08x|ec_size:%d,%d|pid:%d|title:%s, name:%s",
@@ -1424,6 +1432,7 @@ _e_xdg_shell_surface_map_cb_timer(void *data)
 EINTERN void
 e_shell_e_client_map(E_Client *ec)
 {
+   E_Comp_Wl_Client_Data *cdata = NULL;
    int pw = 0;
    int ph = 0;
    int cw;
@@ -1431,7 +1440,10 @@ e_shell_e_client_map(E_Client *ec)
 
    EINA_SAFETY_ON_NULL_RETURN(ec);
 
-   if (e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   EINA_SAFETY_ON_NULL_RETURN(cdata);
+
+   if (cdata->mapped)
      {
         ELOGF("SHELL", "Map window  | Already mapped.", ec);
         return;
@@ -1523,7 +1535,7 @@ e_shell_e_client_unmap(E_Client *ec)
    E_FREE_FUNC(ec->map_timer, ecore_timer_del);
 
    cdata = e_client_cdata_get(ec);
-   if (e_client_mapped_get(ec))
+   if (cdata->mapped)
      {
         e_comp_object_signal_emit(ec->frame, "e,state,unmap", "e");
 
index 649e1ece83a8ecd1af3350a874a932d1e1412d3a..303b68240e9292129ff8f3f14600503e4e46b83a 100644 (file)
@@ -265,7 +265,7 @@ _e_comp_wl_subsurface_show(E_Client *ec)
         subc_cdata = e_client_cdata_get(subc);
         if (!subc_cdata) continue;
 
-        if (e_pixmap_resource_get(subc->pixmap) && !e_client_mapped_get(subc))
+        if (e_pixmap_resource_get(subc->pixmap) && !subc_cdata->mapped)
           {
              subc->visible = EINA_TRUE;
              evas_object_show(subc->frame);
@@ -280,7 +280,7 @@ _e_comp_wl_subsurface_show(E_Client *ec)
         subc_cdata = e_client_cdata_get(subc);
         if (!subc_cdata) continue;
 
-        if (e_pixmap_resource_get(subc->pixmap) && !e_client_mapped_get(subc))
+        if (e_pixmap_resource_get(subc->pixmap) && !subc_cdata->mapped)
           {
              subc->visible = EINA_TRUE;
              evas_object_show(subc->frame);
@@ -310,7 +310,7 @@ _e_comp_wl_subsurface_hide(E_Client *ec)
 
         if (!sub_cdata->sub.data->stand_alone)
           {
-             if (e_client_mapped_get(subc))
+             if (sub_cdata->mapped)
                {
                   subc->visible = EINA_FALSE;
                   evas_object_hide(subc->frame);
@@ -327,7 +327,7 @@ _e_comp_wl_subsurface_hide(E_Client *ec)
 
         if (!sub_cdata->sub.data->stand_alone)
           {
-             if (e_client_mapped_get(subc))
+             if (sub_cdata->mapped)
                {
                   subc->visible = EINA_FALSE;
                   evas_object_hide(subc->frame);
index 4c95b36a270768c1006f32095b2e3d3eb67b8224..4319816b66bddeba31a49a900edf95e52f60766a 100644 (file)
@@ -283,7 +283,8 @@ _msg_ecs_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
         else
           iconified = 0;
 
-        mapped = e_client_mapped_get(ec);
+        if (cdata)
+          mapped = cdata->mapped;
 
         _e_info_server_ec_hwc_info_get(ec, &hwc, &hwc_policy, &pl_zpos);
 
@@ -371,7 +372,8 @@ _msg_clients_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
         else
           iconified = 0;
 
-        mapped = e_client_mapped_get(ec);
+        if (cdata)
+          mapped = cdata->mapped;
 
         _e_info_server_ec_hwc_info_get(ec, &hwc, &hwc_policy, &pl_zpos);
 
index 193ee75a025235766a95dbd0a2bcbb706c2076c8..6710d5a9e918b75432de824b8c680b84aaeee9eb 100644 (file)
@@ -726,7 +726,7 @@ _e_output_visible_client_check(E_Output *output)
               if (!evas_object_visible_get(ec->frame)) continue;
               cdata = e_client_cdata_get(ec);
               if (cdata && cdata->sub.data) continue; /* skip subsurface */
-              if (!e_client_mapped_get(ec)) continue;
+              if (cdata && !cdata->mapped) continue;
               if (ec->iconic) continue;
               e_client_geometry_get(ec, &x, &y, &w, &h);
               if (E_INTERSECTS(x, y, w, h, r.x, r.y, r.w, r.h))
index de51dca8ec5f1315347a0137fb17d9d6215b65cc..aa0b8908859ef47b9f3a81fe869153e756b556e0 100644 (file)
@@ -998,7 +998,7 @@ _e_plane_renderer_recover_ec(E_Plane_Renderer *renderer)
 
    cdata = e_client_cdata_get(ec);
    if (!cdata) return;
-   if (!e_client_mapped_get(ec)) return;
+   if (!cdata->mapped) return;
 
    buffer = cdata->buffer_ref.buffer;
 
index 94471515b777218658590817022decf65d1ecd0c..cef4dbf2792e5652bf0a99bde255f6902af39283 100644 (file)
@@ -167,6 +167,7 @@ _e_policy_check_transient_child_visible(E_Client *ancestor_ec, E_Client *ec)
    Eina_Bool visible = EINA_FALSE;
    Eina_List *list = NULL;
    E_Client *child_ec = NULL;
+   E_Comp_Wl_Client_Data *child_cdata = NULL;
    int anc_x, anc_y, anc_w, anc_h;
    int child_x, child_y, child_w, child_h;
 
@@ -179,7 +180,9 @@ _e_policy_check_transient_child_visible(E_Client *ancestor_ec, E_Client *ec)
      {
         if (visible == EINA_TRUE) continue;
 
-        if (!e_client_mapped_get(child_ec) && !child_ec->use_splash) continue;
+        child_cdata = e_client_cdata_get(child_ec);
+        if (!child_cdata) continue;
+        if (!child_cdata->mapped && !child_ec->use_splash) continue;
         if (child_ec->transient_policy == E_TRANSIENT_BELOW) continue;
 
         if ((child_ec->exp_iconify.skip_iconify == EINA_TRUE) ||
@@ -232,6 +235,7 @@ static Eina_Bool
 _e_policy_check_above_alpha_opaque(E_Client *ec)
 {
    E_Client *above_ec;
+   E_Comp_Wl_Client_Data *above_cdata = NULL;
    Evas_Object *o;
    Eina_Bool alpha_opaque = EINA_FALSE;
    int ex, ey, ew, eh;
@@ -244,7 +248,8 @@ _e_policy_check_above_alpha_opaque(E_Client *ec)
         above_ec = evas_object_data_get(o, "E_Client");
         if (!above_ec) continue;
         if (e_client_util_ignored_get(above_ec)) continue;
-        if (!e_client_mapped_get(above_ec)) continue;
+        above_cdata = e_client_cdata_get(above_ec);
+        if (above_cdata && !above_cdata->mapped) continue;
 
         e_client_geometry_get(above_ec, &ax, &ay, &aw, &ah);
         if (!E_CONTAINS(ax, ay, aw, ah, ex, ey, ew, eh)) continue;
@@ -263,7 +268,7 @@ _e_policy_check_above_alpha_opaque(E_Client *ec)
                     {
                        if (!above_ec->iconic)
                          {
-                            if (e_client_mapped_get(above_ec))
+                            if (above_cdata && above_cdata->mapped)
                               alpha_opaque = EINA_TRUE;
                          }
                     }
@@ -286,8 +291,9 @@ _e_policy_client_iconify_by_visibility(E_Client *ec)
    if (ec->bg_state) return;
    if (ec->exp_iconify.skip_iconify) return;
    if (ec->exp_iconify.skip_by_remote) return;
-   if (!e_client_mapped_get(ec)) return;
 
+   E_Comp_Wl_Client_Data *cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped) return;
 
    if (e_config->transient.iconify)
      {
@@ -443,7 +449,9 @@ _e_policy_client_uniconify_by_visibility(E_Client *ec)
    if (ec->bg_state) return;
    if (ec->exp_iconify.skip_iconify) return;
    if (ec->exp_iconify.skip_by_remote) return;
-   if (!e_client_mapped_get(ec)) return;
+
+   E_Comp_Wl_Client_Data *cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped) return;
 
    _e_policy_client_ancestor_uniconify(ec);
 
@@ -1306,6 +1314,7 @@ _e_vis_client_check_obscured_by_same_layer(E_Client *ec)
 {
    Eina_Bool obscured = EINA_FALSE;
    E_Client *above = NULL;
+   E_Comp_Wl_Client_Data *above_cdata = NULL;
    int ex, ey, ew, eh;
    int ax, ay, aw, ah;
 
@@ -1318,7 +1327,8 @@ _e_vis_client_check_obscured_by_same_layer(E_Client *ec)
         if (e_object_is_del(E_OBJECT(above))) continue;
         if (above->iconic && above->exp_iconify.by_client) continue;
         if (above->bg_state) continue;
-        if (!e_client_mapped_get(above)) continue;
+        above_cdata = e_client_cdata_get(above);
+        if (above_cdata && !above_cdata->mapped) continue;
 
         e_client_geometry_get(above, &ax, &ay, &aw, &ah);
         if (!E_CONTAINS(ax, ay, aw, ah, ex, ey, ew, eh)) continue;
@@ -1352,6 +1362,7 @@ _e_vis_client_check_obscured_by_above_layers(E_Client *ec)
 {
    Eina_Bool obscured = EINA_FALSE;
    E_Client *above = NULL;
+   E_Comp_Wl_Client_Data *above_cdata = NULL;
    int ex, ey, ew, eh;
    int ax, ay, aw, ah;
 
@@ -1364,7 +1375,8 @@ _e_vis_client_check_obscured_by_above_layers(E_Client *ec)
         if (e_object_is_del(E_OBJECT(above))) continue;
         if (above->iconic && above->exp_iconify.by_client) continue;
         if (above->bg_state) continue;
-        if (!e_client_mapped_get(above)) continue;
+        above_cdata = e_client_cdata_get(above);
+        if (above_cdata && !above_cdata->mapped) continue;
 
         e_client_geometry_get(above, &ax, &ay, &aw, &ah);
         if (!E_CONTAINS(ax, ay, aw, ah, ex, ey, ew, eh)) continue;
@@ -1443,6 +1455,7 @@ static Eina_Bool
 _e_vis_client_add_uniconify_render_pending(E_Vis_Client *vc, E_Vis_Job_Type type, Eina_Bool raise, Eina_Bool force_send)
 {
    E_Client *ec;
+   E_Comp_Wl_Client_Data *cdata = NULL;
    Eina_Bool send_vis_event = EINA_TRUE;
 
    ec = vc->ec;
@@ -1453,7 +1466,8 @@ _e_vis_client_add_uniconify_render_pending(E_Vis_Client *vc, E_Vis_Job_Type type
         return EINA_FALSE;
      }
 
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped)
      {
         ELOGF("POL_VIS", "Not mapped. no need to uniconify render.", ec);
         return EINA_FALSE;
@@ -1542,6 +1556,7 @@ _e_vis_ec_activity_check(E_Client *ec, Eina_Bool check_alpha, Eina_Bool check_fu
    int x, y, w, h;
    E_Comp_Object_Content_Type type = E_COMP_OBJECT_CONTENT_TYPE_NONE;
    int check_mapped = 1;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    /* check if ignored */
    if (e_client_util_ignored_get(ec)) return EINA_FALSE;
@@ -1555,7 +1570,8 @@ _e_vis_ec_activity_check(E_Client *ec, Eina_Bool check_alpha, Eina_Bool check_fu
        (type == E_COMP_OBJECT_CONTENT_TYPE_EXT_EDJE))
      check_mapped = 0;
    /* check unmapped client */
-   if (check_mapped && !e_client_mapped_get(ec)) return EINA_FALSE;
+   cdata = e_client_cdata_get(ec);
+   if (check_mapped && cdata && !cdata->mapped) return EINA_FALSE;
    /* check iconify window by client */
    if ((ec->iconic) && (ec->exp_iconify.by_client)) return EINA_FALSE;
    /* check background state */
@@ -1669,6 +1685,7 @@ static E_Pol_Vis_Type
 _e_vis_ec_above_visible_type(E_Client *ec, Eina_Bool check_child)
 {
    E_Client *above;
+   E_Comp_Wl_Client_Data *above_cdata = NULL;
    E_Pol_Vis_Type above_vis_type = E_POL_VIS_TYPE_ALPHA;
    int ex, ey, ew, eh;
    int ax, ay, aw, ah;
@@ -1700,7 +1717,8 @@ _e_vis_ec_above_visible_type(E_Client *ec, Eina_Bool check_child)
         if (check_child && (above->parent == ec)) continue;
         if (above->first_mapped)
           {
-             if (!e_client_mapped_get(above))
+             above_cdata = e_client_cdata_get(above);
+             if (above_cdata && !above_cdata->mapped)
                continue;
           }
 
@@ -1751,7 +1769,8 @@ _e_vis_client_check_obscure_below(E_Client *ec)
    if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE;
    if (ec->iconic && ec->exp_iconify.by_client) return EINA_FALSE;
    if (ec->bg_state) return EINA_FALSE;
-   if (!e_client_mapped_get(ec)) return EINA_FALSE;
+   E_Comp_Wl_Client_Data *cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped) return EINA_FALSE;
    if ((ec->argb) && (ec->visibility.opaque <= 0)) return EINA_FALSE;
    if (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED) return EINA_FALSE;
    if (!ec->visible) return EINA_FALSE;
@@ -2329,12 +2348,14 @@ e_policy_visibility_client_raise(E_Client *ec)
 E_API Eina_Bool
 e_policy_visibility_client_lower(E_Client *ec)
 {
+   E_Comp_Wl_Client_Data *cdata = NULL;
    E_Pol_Vis_Type above_vis_type;
    Eina_Bool ret = EINA_TRUE;
 
    E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
 
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if ((cdata) && (!cdata->mapped))
      {
         VS_DBG(ec, "client Unmapped.");
         return EINA_FALSE;
index 263e54f442fa8627e0df6245a8f2c93b505f9196..0649f9e7148e25aeaa9a9c880933576c9e22b21a 100644 (file)
@@ -1023,6 +1023,7 @@ _tzpol_iface_cb_vis_get(struct wl_client *client, struct wl_resource *res_tzpol,
 void
 e_policy_wl_visibility_send(E_Client *ec, int vis)
 {
+   E_Comp_Wl_Client_Data *cdata = NULL;
    E_Policy_Wl_Tzpol *tzpol;
    E_Policy_Wl_Surface *psurf;
    struct wl_resource *res_tzvis;
@@ -1082,7 +1083,8 @@ e_policy_wl_visibility_send(E_Client *ec, int vis)
                       sent_vis = -3;
                  }
 
-               if (e_client_mapped_get(ec))
+               cdata = e_client_cdata_get(ec);
+               if (cdata && cdata->mapped)
                  {
                     _launch_effect_hide(ec->netwm.pid);
                  }
@@ -1094,7 +1096,7 @@ e_policy_wl_visibility_send(E_Client *ec, int vis)
                      res_tzvis,
                      ver,
                      sent_vis,
-                     ec->netwm.pid, e_client_cdata_get(ec), ec->icccm.title, ec->netwm.name);
+                     ec->netwm.pid, cdata, ec->icccm.title, ec->netwm.name);
                sent = EINA_TRUE;
             }
        }
@@ -1359,6 +1361,7 @@ static void
 _tzpol_iface_cb_activate(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol EINA_UNUSED, struct wl_resource *surf)
 {
    E_Client *ec;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    ec = wl_resource_get_user_data(surf);
    EINA_SAFETY_ON_NULL_RETURN(ec);
@@ -1372,7 +1375,8 @@ _tzpol_iface_cb_activate(struct wl_client *client EINA_UNUSED, struct wl_resourc
    e_policy_hook_call(E_POLICY_HOOK_CLIENT_ACTIVE_REQ, ec);
 
    ec->post_lower = EINA_FALSE;
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped)
      ec->post_raise = EINA_TRUE;
    e_policy_wl_activate(ec);
 }
@@ -1427,6 +1431,7 @@ _tzpol_iface_cb_activate_below_by_res_id(struct wl_client *client EINA_UNUSED, s
    E_Client *below_ec = NULL;
    E_Client *parent_ec = NULL;
    E_Client *focus_ec = NULL;
+   E_Comp_Wl_Client_Data *cdata = NULL;
    Eina_Bool check_ancestor = EINA_FALSE;
    Eina_Bool intercepted = EINA_FALSE;
 
@@ -1474,7 +1479,8 @@ _tzpol_iface_cb_activate_below_by_res_id(struct wl_client *client EINA_UNUSED, s
 
    e_policy_stack_below(ec, below_ec);
 
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped)
      {
         ELOGF("TZPOL", "POST_RAISE_LOWER SET... raise:%d, lower:%d", ec, EINA_FALSE, EINA_FALSE);
         e_client_post_raise_lower_set(ec, EINA_FALSE, EINA_FALSE);
@@ -1492,6 +1498,7 @@ static void
 _tzpol_iface_cb_activate_above_by_res_id(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol,  uint32_t res_id, uint32_t above_res_id)
 {
    E_Client *ec = NULL;
+   E_Comp_Wl_Client_Data *cdata = NULL;
    E_Client *above_ec = NULL;
    E_Client *parent_ec = NULL;
    Eina_Bool check_ancestor = EINA_FALSE;
@@ -1542,7 +1549,8 @@ _tzpol_iface_cb_activate_above_by_res_id(struct wl_client *client EINA_UNUSED, s
 
    e_policy_stack_above(ec, above_ec);
 
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped)
      {
         ELOGF("TZPOL", "POST_RAISE_LOWER SET... raise:%d, lower:%d", ec, EINA_FALSE, EINA_FALSE);
         e_client_post_raise_lower_set(ec, EINA_FALSE, EINA_FALSE);
@@ -1553,6 +1561,7 @@ static void
 _tzpol_iface_cb_raise(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol EINA_UNUSED, struct wl_resource *surf)
 {
    E_Client *ec;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    ec = wl_resource_get_user_data(surf);
    EINA_SAFETY_ON_NULL_RETURN(ec);
@@ -1567,7 +1576,8 @@ _tzpol_iface_cb_raise(struct wl_client *client EINA_UNUSED, struct wl_resource *
 
    e_client_raise(ec);
 
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped)
      {
         ELOGF("TZPOL", "POST_RAISE_LOWER SET... raise:%d, lower:%d", ec, EINA_TRUE, EINA_FALSE);
         e_client_post_raise_lower_set(ec, EINA_TRUE, EINA_FALSE);
@@ -1580,6 +1590,7 @@ static void
 _tzpol_iface_cb_lower(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol EINA_UNUSED, struct wl_resource *surf)
 {
    E_Client *ec = NULL;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    ec = wl_resource_get_user_data(surf);
    EINA_SAFETY_ON_NULL_RETURN(ec);
@@ -1595,7 +1606,8 @@ _tzpol_iface_cb_lower(struct wl_client *client EINA_UNUSED, struct wl_resource *
    if (e_policy_visibility_client_lower(ec))
      return;
 
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped)
      {
         ELOGF("TZPOL", "POST_RAISE_LOWER SET... raise:%d, lower:%d", ec, EINA_FALSE, EINA_TRUE);
         e_client_post_raise_lower_set(ec, EINA_FALSE, EINA_TRUE);
@@ -1611,6 +1623,7 @@ static void
 _tzpol_iface_cb_lower_by_res_id(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol,  uint32_t res_id)
 {
    E_Client *ec = NULL;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    ec = e_pixmap_find_client_by_res_id(res_id);
    EINA_SAFETY_ON_NULL_RETURN(ec);
@@ -1623,7 +1636,8 @@ _tzpol_iface_cb_lower_by_res_id(struct wl_client *client EINA_UNUSED, struct wl_
 
    e_client_lower(ec);
 
-   if (!e_client_mapped_get(ec))
+   cdata = e_client_cdata_get(ec);
+   if (cdata && !cdata->mapped)
      {
         ELOGF("TZPOL", "POST_RAISE_LOWER SET... raise:%d, lower:%d", ec, EINA_FALSE, EINA_TRUE);
         e_client_post_raise_lower_set(ec, EINA_FALSE, EINA_TRUE);
index 3c66cc54e8808274598aab422c8a9ce351700b2c..e84ebb5c8c8a75ae343b81216a87b53f2186dd48 100644 (file)
@@ -35,6 +35,7 @@ _cbhm_cb_evas_show(void *d, Evas *evas EINA_UNUSED, Evas_Object *obj, void *even
 {
    E_Policy_Cbhm *cbhm;
    E_Client *ec;
+   E_Comp_Wl_Client_Data *cdata = NULL;
 
    cbhm = d;
    if (EINA_UNLIKELY(!cbhm))
@@ -47,7 +48,8 @@ _cbhm_cb_evas_show(void *d, Evas *evas EINA_UNUSED, Evas_Object *obj, void *even
    if (ec->frame != obj)
      return;
 
-   if ((!cbhm->show_block) && (e_client_mapped_get(ec)))
+   cdata = e_client_cdata_get(ec);
+   if ((!cbhm->show_block) && (cdata->mapped))
      cbhm->show_block = EINA_TRUE;
 }
 
index 4479097414dcf9fa09daf0632fda1c3782eeea67..4c64a84121db5990ecc72cd22ff0747da047c237 100644 (file)
@@ -1327,7 +1327,8 @@ _launcher_cb_launch_done(struct wl_client *client EINA_UNUSED,
 
                   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, e_client_mapped_get(target_ec), e_client_util_win_get(lc->ec), lc->ec);
+                       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_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");
@@ -1384,6 +1385,7 @@ static E_Client *
 _launcher_handler_rsm_provider_client_find(E_Client *rsm_consumer_ec)
 {
    E_Client *prov_ec = NULL;
+   E_Comp_Wl_Client_Data *prov_cdata = NULL;
    Eina_List *tzrs_provs, *l;
    E_Service_Launcher *lc;
 
@@ -1398,7 +1400,8 @@ _launcher_handler_rsm_provider_client_find(E_Client *rsm_consumer_ec)
         if (!prov_ec->remote_surface.provider) continue;
         if (prov_ec->visible) continue;
         if (evas_object_visible_get(prov_ec->frame)) continue;
-        if (e_client_mapped_get(prov_ec)) continue;
+        prov_cdata = e_client_cdata_get(prov_ec);
+        if (prov_cdata->mapped) continue;
         if (!(lc = _launcher_handler_launcher_find(prov_ec))) continue;
         if (!lc->launched_ec) continue;