Mesa (master): st/wgl: Release stw_framebuffer:: mutex after pbuffer creation.

Jose Fonseca jrfonseca at
Thu Oct 13 11:57:20 PDT 2011

Module: Mesa
Branch: master
Commit: 7b09a9428203db5c0c46b9226ba1d5a06f17b2d8

Author: Mathias Froehlich <Mathias.Froehlich at>
Date:   Thu Oct 13 11:32:35 2011 +0200

st/wgl: Release stw_framebuffer::mutex after pbuffer creation.

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 at>


 src/gallium/state_trackers/wgl/stw_ext_pbuffer.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
index c7273f2..252d07a 100644
--- a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
+++ b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
@@ -209,6 +209,8 @@ wglCreatePbufferARB(HDC _hDC,
    fb = stw_framebuffer_create(hDC, iPixelFormat);
    if (!fb) {
+   } else {
+      stw_framebuffer_release(fb);
    return (HPBUFFERARB)fb;

More information about the mesa-commit mailing list