derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=87c5ffda588c348416f6a52029cdad8fe192c4f5

commit 87c5ffda588c348416f6a52029cdad8fe192c4f5
Author: Derek Foreman <[email protected]>
Date:   Thu Jan 24 11:15:11 2019 -0600

    evas: Defer object lookup until it's necessary
    
    We frequently BAIL from this function before we actually need the
    efl_data_scope_get() return, so we can save some pointer indirection by
    deferring.
    
    Differential Revision: https://phab.enlightenment.org/D7761
    
    Signed-off-by: Derek Foreman <[email protected]>
---
 src/lib/evas/canvas/efl_canvas_image.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_image.c 
b/src/lib/evas/canvas/efl_canvas_image.c
index 0339741c04..d8da0ff1cd 100644
--- a/src/lib/evas/canvas/efl_canvas_image.c
+++ b/src/lib/evas/canvas/efl_canvas_image.c
@@ -7,7 +7,7 @@
 Eina_Bool
 _evas_image_mmap_set(Eo *eo_obj, const Eina_File *f, const char *key)
 {
-   Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
+   Evas_Object_Protected_Data *obj;
    Evas_Image_Data *o = efl_data_scope_get(eo_obj, 
EFL_CANVAS_IMAGE_INTERNAL_CLASS);
    Evas_Image_Load_Opts lo;
 
@@ -18,6 +18,8 @@ _evas_image_mmap_set(Eo *eo_obj, const Eina_File *f, const 
char *key)
         if ((o->cur->key) && (key) && (!strcmp(o->cur->key, key)))
           return EINA_FALSE;
      }
+
+   obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
    evas_object_async_block(obj);
    _evas_image_init_set(f, key, eo_obj, obj, o, &lo);
    o->engine_data = ENFN->image_mmap(ENC, o->cur->f, o->cur->key, 
&o->load_error, &lo);

-- 


Reply via email to