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

Reply via email to