Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/modules/engines/software_xcb Modified Files: evas_outbuf.c Log Message: cedric's cache changes patch =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/software_xcb/evas_outbuf.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- evas_outbuf.c 9 Mar 2008 13:21:15 -0000 1.19 +++ evas_outbuf.c 12 Apr 2008 00:32:28 -0000 1.20 @@ -508,24 +508,19 @@ (buf->priv.mask.g == 0x00ff00) && (buf->priv.mask.b == 0x0000ff)) { - im = evas_cache_image_empty(evas_common_image_cache_get()); - im->image->w = w; - im->image->h = h; - im->image->data = NULL; - im->image->no_free = 1; + im = (RGBA_Image *) evas_cache_image_empty(evas_common_image_cache_get()); + if (!im) return NULL; + im = (RGBA_Image *) evas_cache_image_size_set(&im->cache_entry, w, h); + if (!im) return NULL; + im->extended_info = obr; obr->xcbob = _find_xcbob(buf->priv.x.conn, buf->priv.x.depth, w, h, use_shm, NULL); -/* obr->xcbob = evas_software_xcb_x_output_buffer_new(buf->priv.x.conn, */ -/* buf->priv.x.depth, */ -/* w, */ -/* h, */ -/* use_shm, */ -/* NULL); */ - im->image->data = (DATA32 *)evas_software_xcb_x_output_buffer_data(obr->xcbob, &bpl); + im->image.no_free = 1; + im->image.data = (DATA32 *)evas_software_xcb_x_output_buffer_data(obr->xcbob, &bpl); if (buf->priv.x.mask) obr->mxcbob = _find_xcbob(buf->priv.x.conn, 1, w, h, @@ -541,9 +536,8 @@ else { im = evas_cache_image_empty(evas_common_image_cache_get()); - im->image->w = w; - im->image->h = h; - evas_common_image_surface_alloc(im->image); + if (!im) return NULL; + evas_cache_image_surface_alloc(&im->cache_entry, w, h); im->extended_info = obr; if ((buf->rot == 0) || (buf->rot == 180)) obr->xcbob = _find_xcbob(buf->priv.x.conn, @@ -585,7 +579,7 @@ { im->flags |= RGBA_IMAGE_HAS_ALPHA; /* FIXME: faster memset! */ - memset(im->image->data, 0, w * h * sizeof(DATA32)); + memset(im->image.data, 0, w * h * sizeof(DATA32)); } buf->priv.pending_writes = evas_list_append(buf->priv.pending_writes, im); return im; @@ -832,7 +826,7 @@ if (!conv_func) return; data = evas_software_xcb_x_output_buffer_data(obr->xcbob, &bpl); - src_data = update->image->data; + src_data = update->image.data; if (buf->rot == 0) { obr->x = x; ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs