Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/engines/xrender_x11 Modified Files: evas_engine.c evas_engine_image.c Log Message: fix mem issue =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/xrender_x11/evas_engine.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- evas_engine.c 3 Oct 2005 10:20:12 -0000 1.5 +++ evas_engine.c 3 Oct 2005 12:46:15 -0000 1.6 @@ -681,21 +681,26 @@ re = (Render_Engine *)data; if (!image) return image; + if ((w <= 0) || (h <= 0)) + { + _xre_image_free((XR_Image *)image); + return NULL; + } if (((XR_Image *)image)->references > 1) { XR_Image *old_image; old_image = (XR_Image *)image; image = _xre_image_copy((XR_Image *)old_image); - _xre_image_free(old_image); + if (image) + { + _xre_image_free(old_image); + } + else + image = old_image; } else _xre_image_dirty((XR_Image *)image); - if ((w <= 0) || (h <= 0)) - { - _xre_image_free((XR_Image *)image); - return NULL; - } _xre_image_resize((XR_Image *)image, w, h); return image; } @@ -713,7 +718,12 @@ old_image = (XR_Image *)image; image = _xre_image_copy((XR_Image *)old_image); - _xre_image_free(old_image); + if (image) + { + _xre_image_free(old_image); + } + else + image = old_image; } else _xre_image_dirty((XR_Image *)image); @@ -737,7 +747,9 @@ old_image = (XR_Image *)image; image = _xre_image_copy((XR_Image *)old_image); if (image) - _xre_image_free(old_image); + { + _xre_image_free(old_image); + } else image = old_image; } @@ -786,7 +798,13 @@ old_image = (XR_Image *)image; image = _xre_image_copy((XR_Image *)old_image); - _xre_image_free(old_image); + if (image) + { + ((XR_Image *)image)->alpha = old_image->alpha; + _xre_image_free(old_image); + } + else + image = old_image; } else _xre_image_dirty((XR_Image *)image); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/xrender_x11/evas_engine_image.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- evas_engine_image.c 3 Oct 2005 10:20:12 -0000 1.3 +++ evas_engine_image.c 3 Oct 2005 12:46:15 -0000 1.4 @@ -48,7 +48,10 @@ else snprintf(buf, sizeof(buf), "/@[EMAIL PROTECTED]@/%s", xinf->disp, xinf->root, file); im = __xre_image_find(buf); - if (im) return im; + if (im) + { + return im; + } im = calloc(1, sizeof(XR_Image)); if (!im) return NULL; @@ -179,7 +182,9 @@ _xre_image_cache_set(_xr_image_cache_size); } else - __xre_image_real_free(im); + { + __xre_image_real_free(im); + } } void ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs