]> git.cworth.org Git - apitrace/commitdiff
Fix current context tracking.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Wed, 24 Oct 2012 15:42:22 +0000 (16:42 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Wed, 24 Oct 2012 15:42:22 +0000 (16:42 +0100)
retrace/glretrace_main.cpp
retrace/glretrace_ws.cpp

index bd5378a4bb0d981ab0c69b0a247bb1bbdf92f954..5ccb2e2d2a2955f6b83a03da4508cfbd8ad5d57c 100755 (executable)
@@ -319,6 +319,7 @@ frame_complete(trace::Call &call) {
         return;
     }
 
+    assert(currentContext->drawable);
     if (retrace::debug && !currentContext->drawable->visible) {
         retrace::warning(call) << "could not infer drawable size (glViewport never called)\n";
     }
@@ -434,8 +435,11 @@ retrace::dumpState(std::ostream &os)
 
 void
 retrace::flushRendering(void) {
-    glretrace::flushQueries();
-    glFlush();
+    glretrace::Context *currentContext = glretrace::getCurrentContext();
+    if (currentContext) {
+        glretrace::flushQueries();
+        glFlush();
+    }
 }
 
 void
index d4b0817bfdf0b1852a619a81e41926eadfb73023..5ae908fc6c75a3cfffee7fb1d33077f65b090c95 100644 (file)
@@ -156,10 +156,10 @@ makeCurrent(trace::Call &call, glws::Drawable *drawable, Context *context)
     if (currentContext) {
         currentContext->drawable = NULL;
     }
+    currentContextPtr = context;
 
     if (drawable && context) {
         context->drawable = drawable;
-        currentContextPtr = context;
         
         if (!context->used) {
             initContext();