]> git.cworth.org Git - apitrace/blobdiff - retrace/glretrace_ws.cpp
d3dstate: Ensure COM is initialized before calling DirectXTex.
[apitrace] / retrace / glretrace_ws.cpp
index d4b0817bfdf0b1852a619a81e41926eadfb73023..94a0d931ad008ad886ee08d55c4285f1b6312841 100644 (file)
@@ -122,7 +122,16 @@ createContext(Context *shareContext) {
 }
 
 
-static thread_specific Context *
+Context::~Context()
+{
+    //assert(this != getCurrentContext());
+    if (this != getCurrentContext()) {
+        delete wsContext;
+    }
+}
+
+
+static OS_THREAD_SPECIFIC_PTR(Context)
 currentContextPtr;
 
 
@@ -153,13 +162,10 @@ makeCurrent(trace::Call &call, glws::Drawable *drawable, Context *context)
         return false;
     }
 
-    if (currentContext) {
-        currentContext->drawable = NULL;
-    }
+    currentContextPtr = context;
 
     if (drawable && context) {
         context->drawable = drawable;
-        currentContextPtr = context;
         
         if (!context->used) {
             initContext();