http://bugs.winehq.org/show_bug.cgi?id=31557
--- Comment #16 from Samuel Nelson valczir.darkvein@gmail.com 2012-10-03 02:07:02 CDT --- Created attachment 41937 --> http://bugs.winehq.org/attachment.cgi?id=41937 Revert Patch
Here's the patch file (created using git format-patch) that reverts (some of) the changes from revision 271d801, and seems to make screenshots work.
I did a very basic manual merge. I just commented out instead of deleting so that it's obvious which parts I changed.
At first glance, it looks like the issue is:
1) Since the image palette is unknown, a predefined palette is chosen 2) The predefined palette that was chosen somehow causes IWICPalette_IsGrayscale() to set the variable "gray" to true (it could also be IWICPalette_IsBlackWhite() and the variable "mono", but I believe it to be grayscale based purely on how the images look versus the variable and function names)
Removing the default palette logic *seems* to make screenshots work (attachments to follow). If no one else gets to it (or to a proper fix) first, I'll make a slightly cleaner dirty hack patch tomorrow. But in my opinion, getting rid of the default palette logic is probably not the correct fix - just a temporary hack for Guild Wars 2 until either the palette of GW2 screenshots can be detected or the predefined palette is set to something that still makes sense *and* allows GW2's screenshots to turn out in full color.
I spent a bit of time trying to find out which predefined palette is being used, but the game takes *far* too long to start with WINEDEBUG=trace+all to finish it tonight, and I can't seem to figure out which debug channel it's in to limit those debug statements enough to get it to run decently well (enough to get me to the log in screen in less than a half hour). I'll check on that after work tomorrow.