cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8bcd960e7007826263138d626189cc780b4768c8

commit 8bcd960e7007826263138d626189cc780b4768c8
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Thu Oct 19 16:11:30 2017 -0700

    evas: propagate object data to evas_object_inform_call_restack instead of 
fetching it again.
---
 src/lib/evas/canvas/evas_layer.c         |  4 ++--
 src/lib/evas/canvas/evas_object_inform.c |  3 +--
 src/lib/evas/canvas/evas_stack.c         | 24 ++++++++++++------------
 src/lib/evas/include/evas_private.h      |  2 +-
 4 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/lib/evas/canvas/evas_layer.c b/src/lib/evas/canvas/evas_layer.c
index 5295b30201..0a8dba6545 100644
--- a/src/lib/evas/canvas/evas_layer.c
+++ b/src/lib/evas/canvas/evas_layer.c
@@ -237,7 +237,7 @@ _efl_canvas_object_efl_gfx_stack_layer_set(Eo *eo_obj, 
Evas_Object_Protected_Dat
    evas_object_change(eo_obj, obj);
    if (obj->clip.clipees)
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    evas_object_change(eo_obj, obj);
@@ -258,7 +258,7 @@ _efl_canvas_object_efl_gfx_stack_layer_set(Eo *eo_obj, 
Evas_Object_Protected_Dat
             _evas_object_layer_set_child(member, obj, l);
           }
      }
-   evas_object_inform_call_restack(eo_obj);
+   evas_object_inform_call_restack(eo_obj, obj);
 }
 
 EAPI short
diff --git a/src/lib/evas/canvas/evas_object_inform.c 
b/src/lib/evas/canvas/evas_object_inform.c
index 3daffaaa2c..e458d4f61d 100644
--- a/src/lib/evas/canvas/evas_object_inform.c
+++ b/src/lib/evas/canvas/evas_object_inform.c
@@ -41,9 +41,8 @@ evas_object_inform_call_resize(Evas_Object *eo_obj, 
Evas_Object_Protected_Data *
 }
 
 void
-evas_object_inform_call_restack(Evas_Object *eo_obj)
+evas_object_inform_call_restack(Evas_Object *eo_obj, 
Evas_Object_Protected_Data *obj)
 {
-   Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
    int event_id = _evas_object_event_new();
 
    evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_RESTACK, NULL, 
event_id, EFL_GFX_EVENT_RESTACK);
diff --git a/src/lib/evas/canvas/evas_stack.c b/src/lib/evas/canvas/evas_stack.c
index 7cd8509208..a42562fbe8 100644
--- a/src/lib/evas/canvas/evas_stack.c
+++ b/src/lib/evas/canvas/evas_stack.c
@@ -51,7 +51,7 @@ _efl_canvas_object_efl_gfx_stack_raise(Eo *eo_obj, 
Evas_Object_Protected_Data *o
 
    if (!((EINA_INLIST_GET(obj))->next))
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->smart.parent)
@@ -63,13 +63,13 @@ _efl_canvas_object_efl_gfx_stack_raise(Eo *eo_obj, 
Evas_Object_Protected_Data *o
      }
    if (obj->clip.clipees)
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
    obj->restack = EINA_TRUE;
    evas_object_change(eo_obj, obj);
-   evas_object_inform_call_restack(eo_obj);
+   evas_object_inform_call_restack(eo_obj, obj);
    if (!obj->layer || obj->layer->evas->is_frozen) return;
    if ((!evas_event_passes_through(eo_obj, obj)) &&
        (!evas_event_freezes_through(eo_obj, obj)) &&
@@ -100,7 +100,7 @@ _efl_canvas_object_efl_gfx_stack_lower(Eo *eo_obj, 
Evas_Object_Protected_Data *o
 
    if (!((EINA_INLIST_GET(obj))->prev))
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->smart.parent)
@@ -113,13 +113,13 @@ _efl_canvas_object_efl_gfx_stack_lower(Eo *eo_obj, 
Evas_Object_Protected_Data *o
      }
    if (obj->clip.clipees)
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
    obj->restack = EINA_TRUE;
    evas_object_change(eo_obj, obj);
-   evas_object_inform_call_restack(eo_obj);
+   evas_object_inform_call_restack(eo_obj, obj);
    if (!obj->layer || obj->layer->evas->is_frozen) return;
    if ((!evas_event_passes_through(eo_obj, obj)) &&
        (!evas_event_freezes_through(eo_obj, obj)) &&
@@ -157,7 +157,7 @@ _efl_canvas_object_efl_gfx_stack_stack_above(Eo *eo_obj, 
Evas_Object_Protected_D
    Evas_Object_Protected_Data *above = efl_data_scope_get(eo_above, 
EFL_CANVAS_OBJECT_CLASS);
    if ((EINA_INLIST_GET(obj))->prev == EINA_INLIST_GET(above))
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->smart.parent)
@@ -205,13 +205,13 @@ _efl_canvas_object_efl_gfx_stack_stack_above(Eo *eo_obj, 
Evas_Object_Protected_D
      }
    if (obj->clip.clipees)
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
    obj->restack = EINA_TRUE;
    evas_object_change(eo_obj, obj);
-   evas_object_inform_call_restack(eo_obj);
+   evas_object_inform_call_restack(eo_obj, obj);
    if (!obj->layer || obj->layer->evas->is_frozen) return;
    if ((!evas_event_passes_through(eo_obj, obj)) &&
        (!evas_event_freezes_through(eo_obj, obj)) &&
@@ -247,7 +247,7 @@ _efl_canvas_object_efl_gfx_stack_stack_below(Eo *eo_obj, 
Evas_Object_Protected_D
    Evas_Object_Protected_Data *below = efl_data_scope_get(eo_below, 
EFL_CANVAS_OBJECT_CLASS);
    if ((EINA_INLIST_GET(obj))->next == EINA_INLIST_GET(below))
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->smart.parent)
@@ -295,13 +295,13 @@ _efl_canvas_object_efl_gfx_stack_stack_below(Eo *eo_obj, 
Evas_Object_Protected_D
      }
    if (obj->clip.clipees)
      {
-        evas_object_inform_call_restack(eo_obj);
+        evas_object_inform_call_restack(eo_obj, obj);
         return;
      }
    if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
    obj->restack = EINA_TRUE;
    evas_object_change(eo_obj, obj);
-   evas_object_inform_call_restack(eo_obj);
+   evas_object_inform_call_restack(eo_obj, obj);
    if (!obj->layer || obj->layer->evas->is_frozen) return;
    if ((!evas_event_passes_through(eo_obj, obj)) &&
        (!evas_event_freezes_through(eo_obj, obj)) &&
diff --git a/src/lib/evas/include/evas_private.h 
b/src/lib/evas/include/evas_private.h
index 049e707b40..07358fcc26 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1744,7 +1744,7 @@ void evas_object_inform_call_show(Evas_Object *obj, 
Evas_Object_Protected_Data *
 void evas_object_inform_call_hide(Evas_Object *obj, Evas_Object_Protected_Data 
*pd);
 void evas_object_inform_call_move(Evas_Object *obj, Evas_Object_Protected_Data 
*pd);
 void evas_object_inform_call_resize(Evas_Object *obj, 
Evas_Object_Protected_Data *pd);
-void evas_object_inform_call_restack(Evas_Object *obj);
+void evas_object_inform_call_restack(Evas_Object *obj, 
Evas_Object_Protected_Data *pd);
 void evas_object_inform_call_changed_size_hints(Evas_Object *obj);
 void evas_object_inform_call_image_preloaded(Evas_Object *obj);
 void evas_object_inform_call_image_unloaded(Evas_Object *obj);

-- 


Reply via email to