jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=04e3d40ec39b52185325429f9fba52b8bf5e26b3

commit 04e3d40ec39b52185325429f9fba52b8bf5e26b3
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Tue Nov 8 13:26:32 2016 +0900

    evas: Fix performance issue with move
    
    See T4749, 11b7cf6b728001dbcd42ce4 introduced an issue and
    e1e28ce32062d83b95620c854 fixed it but caused a massive
    performance impact.
    
    This should fix that. Thanks @zmike for the first patch.
    
    Fixes T4840
---
 src/lib/evas/canvas/evas_object_intercept.c | 7 ++++++-
 src/lib/evas/canvas/evas_object_main.c      | 2 --
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_intercept.c 
b/src/lib/evas/canvas/evas_object_intercept.c
index 14668df..42b490e 100644
--- a/src/lib/evas/canvas/evas_object_intercept.c
+++ b/src/lib/evas/canvas/evas_object_intercept.c
@@ -120,7 +120,12 @@ _evas_object_intercept_call(Evas_Object *eo_obj, 
Evas_Object_Intercept_Cb_Type c
           }
         i = va_arg(args, int);
         j = va_arg(args, int);
-        if (!obj->interceptors) goto end_noblock;
+        if (!obj->interceptors)
+          {
+             if ((obj->cur->geometry.x == i) && (obj->cur->geometry.y == j))
+               blocked = EINA_TRUE;
+             break;
+          }
         blocked = evas_object_intercept_call_move(eo_obj, obj, i, j);
         break;
 
diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index 89621c6..76c3c2b 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -814,8 +814,6 @@ _efl_canvas_object_efl_gfx_position_set(Eo *eo_obj, 
Evas_Object_Protected_Data *
    if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 1, 
x, y))
      return;
 
-   if ((obj->cur->geometry.x == x) && (obj->cur->geometry.y == y)) return;
-
    Evas_Map *map;
    map = (Evas_Map *) evas_object_map_get(eo_obj);
    if (map && map->move_sync.enabled)

-- 


Reply via email to