http://bugs.winehq.org/show_bug.cgi?id=25778
--- Comment #6 from Charles Davis cdavis@mines.edu 2011-01-21 22:27:56 CST --- (In reply to comment #5)
This has been fixed by http://source.winehq.org/git/wine.git/?a=commit;h=677c1e578d45aafc6886691eebce7ea33ead44c5.
For certain definitions of "fixed"...
This disables the ICNS support on Tiger. It could be fixed but it's deemed not worth it (by Alexandre and me).
That makes sense. Most people who run Mac OS run 10.6. Then again, the OP is still running Tiger :).
However, note that the ICNS support is really not used for anything of import currently. winemenubuilder uses it, but doesn't actually do anything useful with the resulting .icns files. They're just written to /tmp and then ignored. So, there's nothing lost by disabling this.
I know, but I was thinking of the future. At some point, we'll be generating app bundles or some such, where the icons *will* be useful.
(In reply to comment #4)
- Use ImageIO, a subframework of ApplicationServices that supports reading and
writing a variety of image formats, including icns. ImageIO is available on Mac OS X 10.4; Tiger was in fact the first version to have ImageIO.
When I last tested, ImageIO did not in fact support writing ICNS files. It might have been upgraded to do so since then, but that wouldn't help for Tiger.
Maybe it got added in Leopard. I know SL supports writing icns; calling CGImageDestinationCopyTypeIdentifiers() returns "com.apple.icns" as a supported type on my MBP running 10.6.6.
- Declare the constants ourselves. The constants follow a pattern. 16x16 is
'ic04', 32x32 is 'ic05', and so on, all the way up to 512x512, which is 'ic09'. If you don't believe me, look up the constants in 10.5/10.6's OSServices and see for yourself. Of course, I have to wonder if Tiger even supports loading 16x16 images from an icns file. In that case, there are other constants (the 'Mini', 'Small', 'Large', and 'Huge' icon types) we can use.
Tiger supports the relevant icon sizes. My code using the IconFamily functions takes advantage of enhancements to the API that allows one to treat sizes smaller than 256x256 as ARGB images. Prior to Leopard, you had to work with the RGB image and the mask separately, which was a pain.
Aren't traditional Windows icons like that?
Declaring the constants ourselves would get rid of the compilation error but wouldn't help with functionality. Tiger just won't understand them.
That figures.