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); --
