cedric pushed a commit to branch master.

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

commit 8a7b73ccbc396b8f3a0ceb95fde97c85f12b905e
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Fri May 1 12:15:10 2015 +0200

    evas: fix reference counting of Evas_GL_Image during orient_set.
---
 src/modules/evas/engines/gl_generic/evas_engine.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index 952dee2..0167703 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -912,11 +912,21 @@ eng_image_orient_set(void *data, void *image, 
Evas_Image_Orient orient)
    im_new = evas_gl_common_image_new(im->gc, im->w, im->h, im->alpha, 
im->cs.space);
    if (!im_new) return im;
 
-   *im_new = *im;
+   im_new->load_opts = im->load_opts;
+   im_new->scaled = im->scaled;
+   im_new->scale_hint = im->scale_hint;
+   im_new->content_hint = im->content_hint;
+   im_new->csize = im->csize;
+   im_new->alpha = im->alpha;
+   im_new->tex_only = im->tex_only;
+   im_new->locked = im->locked;
+   im_new->direct = im->direct;
+   im_new->cached = EINA_FALSE;
 
+   im_new->orient = orient;
+   im_new->tex = im->tex;
    im_new->tex->references++;
    im_new->tex->pt->references++;
-   im_new->orient = orient;
 
    evas_gl_common_image_free(im);
    return im_new;

-- 


Reply via email to