hermet pushed a commit to branch master.

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

commit d497cd4364711b5067ff91a12d056957815e81c6
Author: ChunEon Park <[email protected]>
Date:   Mon May 12 19:52:02 2014 +0900

    evas/evas3d: reset image properies if the image is used for scene.
---
 src/lib/evas/canvas/evas_object_image.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 074db4d..f4b7eb1 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -785,13 +785,17 @@ EOLIAN static void
 _evas_image_scene_set(Eo *eo_obj, Evas_Image_Data *o, Evas_3D_Scene *scene)
 {
    Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJ_CLASS);
+   Evas_Image_Load_Opts lo;
 
    if (o->cur->scene == scene) return;
 
-   _evas_object_image_cleanup(eo_obj, obj, o);
-
-   if (o->cur->u.file || o->cur->key)
-     evas_object_image_file_set(eo_obj, NULL, NULL);
+   _image_init_set(NULL, NULL, NULL, eo_obj, obj, o, &lo);
+   o->engine_data = 
obj->layer->evas->engine.func->image_load(obj->layer->evas->engine.data.output,
+                                                              o->cur->u.file,
+                                                              o->cur->key,
+                                                              &o->load_error,
+                                                              &lo);
+   _image_done_set(eo_obj, obj, o);
 
    if (scene) _3d_set(eo_obj, scene);
    else _3d_unset(eo_obj, obj, o);
@@ -975,6 +979,8 @@ _evas_image_size_set(Eo *eo_obj, Evas_Image_Data *o, int w, 
int h)
 
    int stride = 0;
 
+   if (o->cur->scene) return;
+
    _evas_object_image_cleanup(eo_obj, obj, o);
    if (w < 1) w = 1;
    if (h < 1) h = 1;

-- 


Reply via email to