dynamic texture path may have a segv issue... right jy? :) this should
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 3 Aug 2012 10:42:24 +0000 (10:42 +0000)
committerJiyoun Park <jy0703.park@samsung.com>
Mon, 6 Aug 2012 01:07:30 +0000 (10:07 +0900)
fix it. try this patch. yay!

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@74840 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/engines/gl_x11/evas_engine.c

index 26e8c5c..d6db7a2 100755 (executable)
@@ -2666,8 +2666,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)
@@ -2681,10 +2679,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;
@@ -2696,13 +2691,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;