PATCH: GetDevCaps() bitdepth flag

pagefault pagefault at gmail.com
Fri Mar 17 13:12:05 CST 2006


Hi there, I work on ZSNES and I was trying to get it working under
wine and I ran into a small bug when running under a 32 bit desktop.

This fixed a bug in the DeviceGetCaps() function used to return the
current bitdepth of the desktop. It is my understanding that X11
returns "24" as the bitdepth while running a 32 bit framebuffer. I
have seen in the code where it does change the 24 to 32, but I have
discovered a spot where this has been missed.

The following is the changes I made, it simply returns 32 if the user
has a 24 bit desktop.

I could also post code which exposes this bug if needed.

*** dlls/x11drv/init.c	2006-03-17 13:05:59.000000000 -0500
--- dlls/x11drv/init.diff	2006-03-17 12:18:05.000000000 -0500
***************
*** 190,196 ****
      case VERTRES:
          return screen_height;
      case BITSPIXEL:
!         return screen_depth;
      case PLANES:
          return 1;
      case NUMBRUSHES:
--- 190,196 ----
      case VERTRES:
          return screen_height;
      case BITSPIXEL:
!         return (screen_depth == 24) ? 32 : screen_depth;
      case PLANES:
          return 1;
      case NUMBRUSHES:



Thanks.



More information about the wine-devel mailing list