[PATCH 5/5] winex11: Add support for WGL_WINE_make_current extension. (resend)
ken at codeweavers.com
Mon Mar 3 20:43:30 CST 2014
On Mar 3, 2014, at 10:50 AM, Alexandre Julliard wrote:
> Ken Thomases <ken at codeweavers.com> writes:
>> dlls/winex11.drv/opengl.c | 37 +++++++++++++++++++++++++++++++++++++
>> 1 files changed, 37 insertions(+), 0 deletions(-)
> It doesn't work here:
> ../../../tools/runtest -q -P wine -T ../../.. -M d3d8.dll -p d3d8_test.exe.so device && touch device.ok
> X Error of failed request: GLXBadDrawable
> Major opcode of failed request: 153 (GLX)
> Minor opcode of failed request: 26 (X_GLXMakeContextCurrent)
> Serial number of failed request: 3303
> Current serial number in output stream: 3303
> make: *** [device.ok] Error 1
Oops. Crud. I remember *intending* to test under X11 before submitting, but clearly didn't. Sorry.
The issue behind this error raises questions as to whether this extension is worthwhile. It was designed for the case where the DC had been released. What's happened here is the window has been destroyed.
I can detect that case in a somewhat hacky manner and then make wglMakeContextCurrentWINE() fail. But the existing functions would have failed in that case, already. So, while the extension lets us restore the context in some additional cases, it's not clear that it helps in enough to be worthwhile.
Furthermore, this extension was originally inspired by <https://bugs.winehq.org/show_bug.cgi?id=28869> but that was actually a different issue and was fixed another way.
More information about the wine-devel