http://bugs.winehq.org/show_bug.cgi?id=11203
--- Comment #45 from Ian Goddard iang@austonley.org.uk 2010-06-23 06:11:02 --- (In reply to comment #44)
(In reply to comment #43)
(In reply to comment #42)
Is this still an issue with wine-1.2rc4?
I don't know. ... However I'll take a look at the code & get back to you.
Yes its still there. Line 322 of x11drv_main.c says "return 32;" but it drops through from the previous cases such as "case 24:" a few lines above. The consequence is that any system which reports a 24 bbp display will be treated as if it had reported 32 bpp. If an application (and it appears, from duplicate bugs, that there are several, not just EA) then tries to send a 32 bpp image and the display really can only handle 24 then, unless some other code elsewhere works round this then it will crash. To check further I'll need to make the code & test it. That will take me a good while longer.
(In reply to comment #44)
(In reply to comment #43)
(In reply to comment #42)
Is this still an issue with wine-1.2rc4?
I don't know. ... However I'll take a look at the code & get back to you.
Yes its still there. Line 322 of x11drv_main.c says "return 32;" but it drops through from the previous cases such as "case 24:" a few lines above. The consequence is that any system which reports a 24 bbp display will be treated as if it had reported 32 bpp. If an application (and it appears, from duplicate bugs, that there are several, not just EA) then tries to send a 32 bpp image and the display really can only handle 24 then, unless some other code elsewhere works round this then it will crash. To check further I'll need to make the code & test it. That will take me a good while longer.
Yes, I've just checked. It still crashes. Altering the line to "return depth;" still works.
It occurred to me that as there is provision for setting bpp in the registry if such a registry setting were used and allowed to override both the depth reported by the driver and the assumption made in the present code then we would have the best of both worlds: those for whom the assumption holds true would continue to have the speed benefit of 32 bits & those of us who have a problem could use the registry to work round it.
BTW the blacked-out icon problem seems to have been fixed.