PATCH: GetDevCaps() bitdepth flag

pagefault pagefault at gmail.com
Sat Mar 18 00:59:41 CST 2006


Updated again, this should be the final patch. Sorry for spamming. :)



On 3/18/06, pagefault <pagefault at gmail.com> wrote:
> 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>
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dc.patch
Type: text/x-diff
Size: 325 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060318/b268585b/dc.patch


More information about the wine-devel mailing list