There's a little endianness problem in the Quartz backend (latest version from the git repo) when running on Intel Macs (OS X 10.4.8). I've tracked it down to a call to CGImageCreate. I will attach a patch which fixes the issue (and verified that it doesn't break the Quartz backend on PowerPC :).
Created attachment 7700 [details] [review] patch
Kris, a quick note that the nquartz backend will most probably be replacing the quartz backend soon. You may want to test that one too.
I would love to test it, but it doesn't seem to compile at this moment ... From a quick look at the source _cairo_nquartz_surface_release_dest_image() looks really similar to _cairo_quartz_surface_release_dest_image() and has the same bug; in the call to CGImageCreate(), kCGImageAlphaPremultipliedFirst should probably be replaced with kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host.
Is there anything blocking this patch? Would be great to have it in as soon as possible.
That #define is only available in the 10.4 SDK; I have some code locally that uses #ifdefs based on the SDK version in question to either #define a local name to 0, if the SDK version is < 10.4, or #defines it to ByteOrder32Host if the 10.4 SDK. I won't be able to attach a patch or push the commit until monday though (meetings all day today and tomorrow).
Vladimir, what is the status on the fix you had?
Created attachment 8619 [details] [review] Backwards-compatible fix. This patch is similar to the one by Kristian (though I traced it myself because it wasn't in the latest sources, hint-hint) adds an #ifdef that checks for 10.4. It should work on later versions as well because ...10_4 will still be defined on them.
Nice, thanks! Vladimir, could this be pushed before 1.4?
Just pushed this: updating 'refs/heads/master' from 2640aa7e99453f17e9a2cb9084e0760d767cfeab to ab1887f4b08784789f39396b3012dffede845466 Can someone on a PPC mac confirm that it works and confirm that this works?
(In reply to comment #9) > Just pushed this: > > updating 'refs/heads/master' > from 2640aa7e99453f17e9a2cb9084e0760d767cfeab > to ab1887f4b08784789f39396b3012dffede845466 > > Can someone on a PPC mac confirm that it works and confirm that this works? > Will do. What's the testcase?
building the tests with 10.4 on ppc and intel I'm not seeing any difference in the output (now, not tried before/after). So I presume we don't have a regression on ppc. Vlad if you wanted me to try this on 10.3.9 and/or with a particular testcase, let me know. Otherwise looks good to me.
Kris, Vlad, Mikael, is this still an issue. Please reopen and post an update if it is.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.