winex11: Use GLXFBConfig for the pixel format list

Chris Robinson chris.kcat at
Mon Jan 1 10:37:52 CST 2007

On Monday 01 January 2007 00:47, Vitaliy Margolen wrote:
> Please don't send compressed patches. It's not that huge to gzip it.


> > +        WineGLFBConfigsListSize = 1;
> > +        WineGLDisplayablePixelFormatListSize = 1;
> If you hard-coding the list size to 1 it's not a list anymore, but a
> single element.

Originally, the list contained the full FBConfig list and dealt with it 
accordingly. But Thunderbird/Roderick said he'd prefer if the patch didn't do 
that and just retained the single main visual for now. Unless I misunderstood 

> > @@ -1037,13 +987,13 @@ int X11DRV_ChoosePixelFormat(X11DRV_PDEV
> >      /* When we pass all the checks we have found a matching format :) */
> >      ret = 1;
> >      TRACE("Successfully found a matching mode, returning index: %d\n",
> > ret); +choose_exit:
> > +    ;
> >    }
> >
> > -choose_exit:
> >    if(!ret)
> >      TRACE("No matching mode was found returning 0\n");
> Why do you need this change?

Originally that section was turned into a loop to deal with the list, and the 
choose_exit would be used to skip to the next iteration. But Roderick said he 
didn't want that turned into a loop yet so I removed the for() bit, and that 
got left.

> Can you explain this one a bit? Your error_catcher() does nothing,
> except ignoring the error. Yet here you assuming that calls succeeded
> and continue on, assigning the context to a thread which won't have the
> context assigned.

According to the docs,
"glXMakeCurrent returns True if it is successful, False otherwise."

And since the function returns what glXMakeCurrent returns, the call is not 
assumed to succeed. Without it, glXMakeCurrent may cause the program to abort 
before the rest of the program knows it failed. But I suppose that too should 
be sent seperately..

Apologies. I'll split up the patch and send the relavant parts.

More information about the wine-devel mailing list