diff options
author | José Fonseca <[email protected]> | 2009-07-06 17:40:08 +0100 |
---|---|---|
committer | José Fonseca <[email protected]> | 2009-07-06 17:40:08 +0100 |
commit | 6f4167c8a215b561e5ad6eb58a8d875a5b8d8d6a (patch) | |
tree | fe3a0b76f3367076584830229ad84ed83f618d0c /src/gallium/state_trackers/wgl | |
parent | 5470a67335dfd9afffb92ff6521a77519cda40d8 (diff) |
wgl: Check for multiple threads before GET_CURRENT_CONTEXT.
Fixes wglthreads -- the 2nd thread MakeCurrent call was trying to flush
the first thread context while still in use.
Diffstat (limited to 'src/gallium/state_trackers/wgl')
-rw-r--r-- | src/gallium/state_trackers/wgl/shared/stw_context.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/wgl/shared/stw_context.c b/src/gallium/state_trackers/wgl/shared/stw_context.c index 9df1ab76526..8393efbccf5 100644 --- a/src/gallium/state_trackers/wgl/shared/stw_context.c +++ b/src/gallium/state_trackers/wgl/shared/stw_context.c @@ -60,8 +60,14 @@ stw_context(GLcontext *glctx) static INLINE struct stw_context * stw_current_context(void) { - GET_CURRENT_CONTEXT( glctx ); - return stw_context(glctx); + /* We must check if multiple threads are being used or GET_CURRENT_CONTEXT + * might return the current context of the thread first seen. */ + _glapi_check_multithread(); + + { + GET_CURRENT_CONTEXT( glctx ); + return stw_context(glctx); + } } BOOL |