fix mask write line stuff.

SVN revision: 81998
This commit is contained in:
Carsten Haitzler 2013-01-02 15:01:27 +00:00
parent bb39010a0a
commit a34941c17f
4 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2013-01-02 Carsten Haitzler (The Rasterman)
* Fixed evas_software_xlib_x_write_mask_line() issue - it was
finding a segment in the shm cache of the wrong size for masks!
2013-01-02 Cedric Bail
* Use Eina_File for evas webp, gif, tiff and eet loader.

1
NEWS
View File

@ -96,3 +96,4 @@ Fixes:
* Fix evas_object_image_is_inside()
* eio functions no longer crash when passed NULL and throw errors accordingly
* Fix eina_xattr_value_ls() and eina_xattr_value_fd_ls()
* Fix mask write lines to not choose too small segments

View File

@ -1118,13 +1118,14 @@ _find_xcbob(xcb_connection_t *conn, xcb_visualtype_t *vis, int depth, int w, int
return evas_software_xcb_output_buffer_new(conn, vis, depth, w, h,
shm, data);
lbytes = (((w + 63) / 64) * 4);
if (depth > 1)
{
bpp = (depth / 8);
if (bpp == 3) bpp = 4;
lbytes = ((((w * bpp) + 3) / 4) * 4);
}
else
lbytes = (((w + 63) / 64) * 4);
sz = (lbytes * h);
SHMPOOL_LOCK();

View File

@ -52,7 +52,7 @@ _find_xob(Display *d, Visual *v, int depth, int w, int h, int shm, void *data)
lbytes = (((w * bpp) + 3) / 4) * 4;
}
else
lbytes = ((w + 63) / 64) * 4;
lbytes = ((w + 63) / 64) * 8;
sz = lbytes * h;
SHMPOOL_LOCK();
EINA_LIST_FOREACH(shmpool, l, xob2)