summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_image_factory.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2018-12-07 11:26:54 +0100
committerXavi Artigas <xavierartigas@yahoo.es>2018-12-07 11:47:21 +0100
commit4d6f20d714ea083471be163f67af518eced4028c (patch)
tree25574de63f6c0d2742859530ca202115534dc978 /src/lib/elementary/efl_ui_image_factory.c
parent89683f49cab7d55e8184907335eb1360a156a49d (diff)
downloadefl-4d6f20d714ea083471be163f67af518eced4028c.tar.gz
elementary: make Efl.Ui.Factory.create asynchronous.
Reviewers: felipealmeida, SanghyeonLee, vitor.sousa, bu5hm4n, segfaultxavi Reviewed By: felipealmeida, vitor.sousa, segfaultxavi Subscribers: segfaultxavi, #reviewers, #committers Tags: #efl Maniphest Tasks: T7472 Differential Revision: https://phab.enlightenment.org/D7332
Diffstat (limited to 'src/lib/elementary/efl_ui_image_factory.c')
-rw-r--r--src/lib/elementary/efl_ui_image_factory.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/elementary/efl_ui_image_factory.c b/src/lib/elementary/efl_ui_image_factory.c
index 9607665e06..998c43f70d 100644
--- a/src/lib/elementary/efl_ui_image_factory.c
+++ b/src/lib/elementary/efl_ui_image_factory.c
@@ -32,10 +32,11 @@ _efl_ui_image_factory_efl_object_destructor(Eo *obj EINA_UNUSED, Efl_Ui_Image_Fa
efl_destructor(efl_super(obj, MY_CLASS));
}
-EOLIAN static Efl_Gfx_Entity *
-_efl_ui_image_factory_efl_ui_factory_create(Eo *obj EINA_UNUSED, Efl_Ui_Image_Factory_Data *pd, Efl_Model *model, Efl_Gfx_Entity *parent)
+EOLIAN static Eina_Future *
+_efl_ui_image_factory_efl_ui_factory_create(Eo *obj, Efl_Ui_Image_Factory_Data *pd, Efl_Model *model, Efl_Gfx_Entity *parent)
{
Efl_Gfx_Entity *ui_view;
+ Eina_Value r;
EINA_SAFETY_ON_NULL_RETURN_VAL(pd->property, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
@@ -43,7 +44,9 @@ _efl_ui_image_factory_efl_ui_factory_create(Eo *obj EINA_UNUSED, Efl_Ui_Image_Fa
efl_ui_view_model_set(ui_view, model);
efl_ui_model_connect(ui_view, "filename", pd->property);
- return ui_view;
+ r = eina_value_object_init(ui_view);
+
+ return eina_future_resolved(efl_loop_future_scheduler_get(obj), r);
}
EOLIAN static void