+2013-01-16 Carsten Haitzler (The Rasterman)
+
+ * Fixed pixman image wrapping to handle allocated size instead
+ of image size (unless allocated is 0/wrong).
+
2013-01-15 Paulo Alcantara (pcacjr)
* Evas engines: Introduce multi_font_draw() function
* Evas textblock: Fixed issue and simplified cursor_geometry_get.
* Evas text: Fixed issue with horiz advance.
* Evas text utils: Fixed issue with no-harfbuzz bidi.
+ * Fixed pixman surface alloc where allocated and image size differ.
#ifdef HAVE_PIXMAN
# ifdef PIXMAN_IMAGE
RGBA_Image *im = (RGBA_Image *)ie;
-
+ int w, h;
+
if (im->pixman.im) pixman_image_unref(im->pixman.im);
+ w = ie->allocated.w;
+ h = ie->allocated.h;
+ if ((w <= 0) || (h <= 0))
+ {
+ w = im->cache_entry.w;
+ h = im->cache_entry.h;
+ }
if (im->cache_entry.flags.alpha)
{
im->pixman.im = pixman_image_create_bits
// FIXME: endianess determines this
PIXMAN_a8r8g8b8,
// PIXMAN_b8g8r8a8,
- im->cache_entry.w, im->cache_entry.h,
- im->image.data,
- im->cache_entry.w * 4
- );
+ w, h, im->image.data, w * 4);
}
else
{
// FIXME: endianess determines this
PIXMAN_x8r8g8b8,
// PIXMAN_b8g8r8x8,
- im->cache_entry.w, im->cache_entry.h,
- im->image.data,
- im->cache_entry.w * 4
- );
+ w, h, im->image.data, w * 4);
}
# else
(void)ie;