e_comp_object: use e_client_cdata_get 12/247612/1 submit/tizen/20201119.231741
authorSooChan Lim <sc1.lim@samsung.com>
Wed, 11 Nov 2020 04:27:04 +0000 (13:27 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Thu, 12 Nov 2020 23:18:03 +0000 (08:18 +0900)
Change-Id: I5192f2fbf8b17a955e94a8f664097d8e21dbe9e6

src/bin/e_comp_object.c

index a943cc1c588e7a3e051a96c859999b8af7b0aed3..453db91bf39f63ddea34ae199c178d4294489956 100644 (file)
@@ -646,23 +646,26 @@ static void
 _e_comp_object_map_transform_pos(E_Client *ec, int sx, int sy, int *dx, int *dy)
 {
    E_Comp_Wl_Buffer_Viewport *vp;
+   E_Comp_Wl_Client_Data *cdata;
    int transform;
    int bw, bh, tx, ty;
 
-   if (!ec || !ec->comp_data || e_object_is_del(E_OBJECT(ec)))
+  cdata = e_client_cdata_get(ec);
+
+   if (!ec || !cdata || e_object_is_del(E_OBJECT(ec)))
      {
         *dx = sx;
         *dy = sy;
         return;
      }
 
-   vp = &ec->comp_data->scaler.buffer_viewport;
+   vp = &cdata->scaler.buffer_viewport;
    transform = e_comp_wl_output_buffer_transform_get(ec);
 
    e_pixmap_size_get(ec->pixmap, &bw, &bh);
 
    /* for subsurface, it should be swap 90 and 270 */
-   if (ec->comp_data->sub.data)
+   if (cdata->sub.data)
      switch (transform)
        {
         case WL_OUTPUT_TRANSFORM_90:          transform = WL_OUTPUT_TRANSFORM_270;         break;
@@ -1747,6 +1750,7 @@ static void
 _e_comp_intercept_layer_set(void *data, Evas_Object *obj, int layer)
 {
    E_Comp_Object *cw = data;
+   E_Comp_Wl_Client_Data *cdata, *child_cdata;
    unsigned int l = e_comp_canvas_layer_map(layer);
    int oldraise;
 
@@ -1767,14 +1771,15 @@ _e_comp_intercept_layer_set(void *data, Evas_Object *obj, int layer)
                   e_comp_render_queue();
                }
              ec = e_client_above_get(cw->ec);
+             cdata = e_client_cdata_get(ec);
              /* skip subsurface: stacking subsurface is handled by e_comp_wl */
-             while ((ec) && (ec->comp_data) && (ec->comp_data->sub.data))
+             while ((ec) && (cdata) && (cdata->sub.data))
                ec = e_client_above_get(ec);
              if (ec && (evas_object_layer_get(ec->frame) != evas_object_layer_get(obj)))
                {
                   ec = e_client_below_get(cw->ec);
                   /* skip subsurface: stacking subsurface is handled by e_comp_wl */
-                  while ((ec) && (ec->comp_data) && (ec->comp_data->sub.data))
+                  while ((ec) && (cdata) && (cdata->sub.data))
                     ec = e_client_below_get(ec);
                   if (ec && (evas_object_layer_get(ec->frame) == evas_object_layer_get(cw->smart_obj)))
                     {
@@ -1823,7 +1828,8 @@ layer_set:
         e_config->transient.raise = 1;
         EINA_LIST_FREE(list, child)
           {
-             if (child->comp_data && !child->comp_data->mapped)
+             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;
@@ -6072,22 +6078,26 @@ e_comp_object_map_update(Evas_Object *obj)
 {
    API_ENTRY;
    E_Client *ec = cw->ec;
+   E_Comp_Wl_Client_Data *cdata;
    Evas_Map *map;
    int x1, y1, x2, y2, x, y, bw, bh, tw, th;
    char buffer[128];
    char *p = buffer;
    int l, remain = sizeof buffer;
 
-   if (!ec || !ec->comp_data || e_object_is_del(E_OBJECT(ec))) return;
+   if (!ec) return;
+   if (e_object_is_del(E_OBJECT(ec))) return;
+   cdata = e_client_cdata_get(ec);
+   if (!cdata) return;
 
    /* if buffer had been flushed, buffer could be NULL. Then map will be applied
     * when new buffer is attached.
     */
-   if (!ec->comp_data->buffer_ref.buffer) return;
+   if (!cdata->buffer_ref.buffer) return;
 
    if ((!cw->redirected) ||
        (!e_comp_wl_output_buffer_transform_get(ec) &&
-        ec->comp_data->scaler.buffer_viewport.buffer.scale == 1))
+        cdata->scaler.buffer_viewport.buffer.scale == 1))
      {
         if (evas_object_map_enable_get(cw->effect_obj))
           {
@@ -6191,9 +6201,8 @@ e_comp_object_image_filter_set(Evas_Object *obj, E_Comp_Image_Filter filter)
 {
    API_ENTRY EINA_FALSE;
    EINA_SAFETY_ON_NULL_RETURN_VAL(cw->ec, EINA_FALSE);
-
-   if ((!cw->ec) || (!cw->ec->comp_data) || (e_object_is_del(E_OBJECT(cw->ec))))
-     return EINA_FALSE;
+   if (e_object_is_del(E_OBJECT(cw->ec))) return EINA_FALSE;
+   if (!e_client_cdata_get(cw->ec)) return EINA_FALSE;
 
    switch (filter)
      {
@@ -6222,9 +6231,8 @@ e_comp_object_image_filter_get(Evas_Object *obj)
 {
    API_ENTRY E_COMP_IMAGE_FILTER_NONE;
    EINA_SAFETY_ON_NULL_RETURN_VAL(cw->ec, E_COMP_IMAGE_FILTER_NONE);
-
-   if ((!cw->ec->comp_data) || (e_object_is_del(E_OBJECT(cw->ec))))
-     return E_COMP_IMAGE_FILTER_NONE;
+   if (e_object_is_del(E_OBJECT(cw->ec))) return E_COMP_IMAGE_FILTER_NONE;
+   if (!e_client_cdata_get(cw->ec)) return E_COMP_IMAGE_FILTER_NONE;
 
    return cw->image_filter;
 }