st/wgl: Release stw_framebuffer::mutex after pbuffer creation.
authorMathias Froehlich <Mathias.Froehlich@web.de>
Thu, 13 Oct 2011 09:32:35 +0000 (11:32 +0200)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 13 Oct 2011 18:53:13 +0000 (19:53 +0100)
This change releases the stw_framebuffer::mutex past creation of
the pbuffer stw_framebuffer. Without this change the pbuffers
lock is never released. Since on win32 mutexes are recursive, this
does not hurt as long as all actions on a context are done from
the same thread. But if, for example, context creation happens in
a different thread than usage, every access to the context will
block for ever.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
src/gallium/state_trackers/wgl/stw_ext_pbuffer.c

index c7273f26545ee2d09adfbeece7aa54217170c9fd..252d07a90cc216f85e8f93384b207a1c094e5765 100644 (file)
@@ -209,6 +209,8 @@ wglCreatePbufferARB(HDC _hDC,
    fb = stw_framebuffer_create(hDC, iPixelFormat);
    if (!fb) {
       SetLastError(ERROR_NO_SYSTEM_RESOURCES);
+   } else {
+      stw_framebuffer_release(fb);
    }
 
    return (HPBUFFERARB)fb;