From 6f4167c8a215b561e5ad6eb58a8d875a5b8d8d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Fonseca?= Date: Mon, 6 Jul 2009 17:40:08 +0100 Subject: 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. --- src/gallium/state_trackers/wgl/shared/stw_context.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/gallium/state_trackers/wgl') diff --git a/src/gallium/state_trackers/wgl/shared/stw_context.c b/src/gallium/state_trackers/wgl/shared/stw_context.c index 9df1ab7652..8393efbccf 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 -- cgit v1.2.3