summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-05-01 12:15:10 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-05-05 10:17:00 +0200
commit8a7b73ccbc396b8f3a0ceb95fde97c85f12b905e (patch)
tree8721bb7e44b3513474dc7a7f4e4e202990377d9a /src/modules
parent28e66c23b66b5367232fff55eb4422559dbf11b5 (diff)
evas: fix reference counting of Evas_GL_Image during orient_set.
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c14
1 files 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)
912 im_new = evas_gl_common_image_new(im->gc, im->w, im->h, im->alpha, im->cs.space); 912 im_new = evas_gl_common_image_new(im->gc, im->w, im->h, im->alpha, im->cs.space);
913 if (!im_new) return im; 913 if (!im_new) return im;
914 914
915 *im_new = *im; 915 im_new->load_opts = im->load_opts;
916 im_new->scaled = im->scaled;
917 im_new->scale_hint = im->scale_hint;
918 im_new->content_hint = im->content_hint;
919 im_new->csize = im->csize;
920 im_new->alpha = im->alpha;
921 im_new->tex_only = im->tex_only;
922 im_new->locked = im->locked;
923 im_new->direct = im->direct;
924 im_new->cached = EINA_FALSE;
916 925
926 im_new->orient = orient;
927 im_new->tex = im->tex;
917 im_new->tex->references++; 928 im_new->tex->references++;
918 im_new->tex->pt->references++; 929 im_new->tex->pt->references++;
919 im_new->orient = orient;
920 930
921 evas_gl_common_image_free(im); 931 evas_gl_common_image_free(im);
922 return im_new; 932 return im_new;