From 6c079bcba6baa3b6da06728ff8e33e0b959141a2 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 3 Aug 2012 10:42:24 +0000 Subject: [PATCH] dynamic texture path may have a segv issue... right jy? :) this should fix it. try this patch. yay! SVN revision: 74840 --- .../evas/src/modules/engines/gl_x11/evas_engine.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c index 7dc6c248f6..f525f61ddb 100644 --- a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c +++ b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c @@ -2659,8 +2659,6 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data) && (im->tex->pt->dyn.data) && (im->cs.space == EVAS_COLORSPACE_ARGB8888)) { - int w, h; - if (im->tex->pt->dyn.data == image_data) { if (im->tex->pt->dyn.checked_out > 0) @@ -2674,10 +2672,7 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data) return image; } - - w = im->im->cache_entry.w; - h = im->im->cache_entry.h; - im2 = eng_image_new_from_data(data, w, h, image_data, + im2 = eng_image_new_from_data(data, im->w, im->h, image_data, eng_image_alpha_get(data, image), eng_image_colorspace_get(data, image)); if (!im2) return im; @@ -2689,13 +2684,9 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data) switch (im->cs.space) { case EVAS_COLORSPACE_ARGB8888: - if (image_data != im->im->image.data) + if ((!im->im) || (image_data != im->im->image.data)) { - int w, h; - - w = im->im->cache_entry.w; - h = im->im->cache_entry.h; - im2 = eng_image_new_from_data(data, w, h, image_data, + im2 = eng_image_new_from_data(data, im->w, im->h, image_data, eng_image_alpha_get(data, image), eng_image_colorspace_get(data, image)); if (!im2) return im;