]> git.cworth.org Git - apitrace/commitdiff
Delete context when retracing wglDeleteContext.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Mon, 27 Aug 2012 18:01:58 +0000 (19:01 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Mon, 27 Aug 2012 18:01:58 +0000 (19:01 +0100)
retrace/glretrace_wgl.cpp

index 52fdcf46605cdc485707d1b7ce7fbbd6492f3ea7..bf2f38a19024b1a2c19cd69c5eda6697204d5215 100644 (file)
@@ -61,6 +61,17 @@ static void retrace_wglCreateContext(trace::Call &call) {
 }
 
 static void retrace_wglDeleteContext(trace::Call &call) {
 }
 
 static void retrace_wglDeleteContext(trace::Call &call) {
+    unsigned long long hglrc = call.arg(0).toUIntPtr();
+
+    ContextMap::iterator it;
+    it = context_map.find(hglrc);
+    if (it == context_map.end()) {
+        return;
+    }
+
+    delete it->second;
+    
+    context_map.erase(it);
 }
 
 static void retrace_wglMakeCurrent(trace::Call &call) {
 }
 
 static void retrace_wglMakeCurrent(trace::Call &call) {