PATCH: GetDevCaps() bitdepth flag

pagefault pagefault at gmail.com
Sat Mar 18 00:56:15 CST 2006


Updated my patch. I had placed it in the wrong function, this is a lot
lower in the pipeline and should not conflict with other code. Please
test.

--- dlls/gdi/dc2.c      2006-03-18 00:46:11.000000000 -0500
+++ dlls/gdi/dc.c       2006-03-15 09:50:32.000000000 -0500
@@ -905,11 +905,6 @@
         }
         GDI_ReleaseObj( hdc );
     }
-
-    // Windows returns a 32-bit depth (24-bit effective)
-
-    if (caps == BITSPIXEL && ret == 24) ret = 32;
-
     return ret;
 }


On 3/18/06, pagefault <pagefault at gmail.com> wrote:
> Ok, this is rather odd. Do those apps work properly when the patch is
> not applied? Also do you know if these apps are using DirectDraw?
>
> On 3/18/06, pagefault <pagefault at gmail.com> wrote:
> > Thanks for testing it out. I will try to get a copy of these apps and
> > figure out whats going on.
> >
> > On 3/18/06, pagefault <pagefault at gmail.com> wrote:
> > > Thanks for testing it out. I will try to get a copy of these apps and
> > > figure out whats going on.
> > >
> > > On 3/17/06, Willie Sippel <willie at zeitgeistmedia.net> wrote:
> > > > Am Freitag, 17. März 2006 20:12 schrieb pagefault:
> > > > > 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.
> > > > >
> > > > With your patch applied, two applications I tested (Newtek Aura and
> Bauhaus/
> > > > TVPaint Mirage) show an odd bug. Only the window background gets
> drawn, but
> > > > all the widgets are missing, or, more precisely, invisible. Both
> applications
> > > > use their own toolkit - Mirage is infact Aura's successor, so their
> drawing
> > > > code should be very similar. But Aura's used to work, while Mirage's
> always
> > > > produced borked results - painting stuff blue and distorted instead of
> gray.
> > > >
> > > > --
> > > > Willie Sippel
> > > >
> > > >   ////////  |  Tritium Studios
> > > >  //         |  ______________________________
> > > > //// ///    |  http://www.tritium-studios.com
> > > >
> > > > <willie at froq.net>
> > > >
> > > >
> > > >
> > >
> >
>



More information about the wine-devel mailing list