diff options
author | Jiwon Kim <jwkim0000@gmail.com> | 2017-01-02 15:22:04 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-01-02 15:22:04 +0900 |
commit | 4a0a9d8ae1bf0e8b1d3489ca80c6d82de3f0e227 (patch) | |
tree | d53a7438d2efd85e7b1c69a283cac25dabe1e6bc | |
parent | a3ac1515919f791e6d16738768f358db7624594b (diff) | |
download | efl-4a0a9d8ae1bf0e8b1d3489ca80c6d82de3f0e227.tar.gz |
evas: initalize orient property in file_set()
Summary:
Someone calls evas_object_image_file_set() and set orient,
and then re-set another file.
At that time, there is a mismatch between Evas_Image_Data's
cur->orient and engine's orient data.
So, "file_set(a) -> orient_set(90) -> file_set(b) -> orient_set(90)"
is not working now.
Therefore, when a file_set() is finished, initialization is needed.
@fix
Reviewers: jypark, jpeg
Reviewed By: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D4515
-rw-r--r-- | src/lib/evas/canvas/evas_object_image.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index d81277fb41..fab1992ac0 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -350,12 +350,14 @@ _evas_image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Dat { int w, h; int stride; + Evas_Image_Orient orient; ENFN->image_size_get(ENDT, o->engine_data, &w, &h); if (ENFN->image_stride_get) ENFN->image_stride_get(ENDT, o->engine_data, &stride); else stride = w * 4; + orient = ENFN->image_orient_get(ENDT, o->engine_data); EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write) { @@ -368,6 +370,7 @@ _evas_image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Dat state_write->image.w = w; state_write->image.h = h; state_write->image.stride = stride; + state_write->orient = orient; } EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); } @@ -387,6 +390,7 @@ _evas_image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Dat state_write->image.w = 0; state_write->image.h = 0; state_write->image.stride = 0; + state_write->orient = EVAS_IMAGE_ORIENT_NONE; } EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); } |