[cairo] Quartz regression in release 1.12

cu cairouser at yahoo.com
Mon Apr 23 09:19:02 PDT 2012


Here is what I found so far wrt. the invalid stride error:

1. The operation in question is CGImageCreate() in function
CairoQuartzCreateCGImage().

2. I added debug printout to see what the stride value and image sizes
are when this operation, here is the output:
Bits per component 8, per pixel 32, stride 1256, width 302, height 302
Bits per component 8, per pixel 32, stride 1256, width 302, height 302
Bits per component 8, per pixel 32, stride 1260, width 302, height 302
Bits per component 8, per pixel 32, stride 692, width 302, height 302
Apr 23 12:02:23 qpad PolarViewMX[5798] <Error>: CGImageCreate: invalid image
bits/pixel or bytes/row.
Bits per component 8, per pixel 32, stride 692, width 302, height 155
Apr 23 12:02:23 qpad PolarViewMX[5798] <Error>: CGImageCreate: invalid image
bits/pixel or bytes/row.

Note that there appear to be certain code paths that for some reason
set smaller stride (clearly not valid) for the given image. On the side
of application all images are created using the same cairo statement, with
the same size and format ARGB32.

3. It appears that the call in question originates from
_cairo_quartz_setup_state() ->
_cairo_surface_to_cgimage()

I don't have enough understanding of what's going on above that to dig
deeper, unfortunately.



> Ok, I'm quite confident that this means that you're not on the
> wip/map-quartz branch.
> Please check if 'git branch' returns a list of branches with
> 'wip/map-quartz' starred.
> If not, please do 'git checkout wip/quartz-map', rebuild and test again.
> (Fixing this issue with the mapping is exactly the purpose of the
> wip/map-quartz branch).
> Another way to check if you're on the right branch is to check if the
> current state is 'git log'. It should show a list of commits and the
> first one should be 6021ff13f5e7d8ab0b9692cf36ee055c45530134.
>
> Andrea
>
>   

--
cairo mailing list
cairo at cairographics.org
http://lists.cairographics.org/mailman/listinfo/cairo


More information about the cairo mailing list