Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/modules/engines/xrender_xcb Modified Files: evas_engine_image.c Log Message: cedric's sdl patch. =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/xrender_xcb/evas_engine_image.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- evas_engine_image.c 10 Oct 2006 19:15:48 -0000 1.9 +++ evas_engine_image.c 16 Jul 2007 07:25:35 -0000 1.10 @@ -199,7 +199,7 @@ if (im->file) evas_stringshare_del(im->file); if (im->key) evas_stringshare_del(im->key); if (im->fkey) free(im->fkey); - if (im->im) evas_common_image_unref(im->im); + if (im->im) evas_cache_image_drop(im->im); if ((im->data) && (im->dirty)) __xre_image_dirty_hash_del(im); if ((im->free_data) && (im->data)) free(im->data); if (im->surface) _xr_render_surface_free(im->surface); @@ -272,7 +272,7 @@ if (im2) im2->alpha = im->alpha; if ((im->im) && (!im->dirty)) { - evas_common_image_unref(im->im); + evas_cache_image_drop(im->im); im->im = NULL; } return im2; @@ -335,9 +335,9 @@ else if (im->im) { RGBA_Image *im_old; - + im_old = im->im; - im->im = evas_common_image_create(w, h); + im->im = evas_cache_image_empty(evas_common_image_cache_get()); if (!im->im) { im->im = im_old; @@ -348,22 +348,26 @@ } return; } + im->im->image->w = w; + im->im->image->h = h; + evas_common_image_surface_alloc(im->im->image); evas_common_load_image_data_from_file(im_old); if (im_old->image->data) { int x = 0, y = 0, ww, hh; - + ww = w; hh = h; RECTS_CLIP_TO_RECT(x, y, ww, hh, 0, 0, im->w, im->h); evas_common_blit_rectangle(im_old, im->im, 0, 0, ww, hh, 0, 0); evas_common_cpu_end_opt(); } im->free_data = 1; + /* FIXME: Hum ? */ im->data = im->im->image->data; im->im->image->data = NULL; - evas_common_image_unref(im->im); + evas_cache_image_drop(im->im); im->im = NULL; - evas_common_image_unref(im_old); + evas_cache_image_drop(im_old); __xre_image_dirty_hash_add(im); } else @@ -426,7 +430,7 @@ if (data == imdata) return; if (im->im) { - evas_common_image_unref(im->im); + evas_cache_image_drop(im->im); im->im = NULL; } } @@ -580,7 +584,7 @@ 1, 1); if ((im->im) && (!im->dirty)) { - evas_common_image_unref(im->im); + evas_cache_image_drop(im->im); im->im = NULL; } } ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs