]> git.cworth.org Git - apitrace/blobdiff - retrace/glretrace_cgl.cpp
Update downloads link.
[apitrace] / retrace / glretrace_cgl.cpp
index d66fbb5bf8d69767eab5278e8dd5bb9a02f40618..a0755953b3a52059e35f9d4e0ff9447cba878305 100644 (file)
@@ -239,13 +239,18 @@ static void retrace_CGLFlushDrawable(trace::Call &call) {
     Context *context = getContext(ctx);
 
     if (context) {
-        if (retrace::doubleBuffer) {
-            context->drawable->swapBuffers();
+        if (context->drawable) {
+            if (retrace::doubleBuffer) {
+                context->drawable->swapBuffers();
+            } else {
+                glFlush();
+            }
+            frame_complete(call);
         } else {
-            glFlush();
+            if (retrace::debug) {
+                retrace::warning(call) << "context has no drawable\n";
+            }
         }
-
-        frame_complete(call);
     }
 }
 
@@ -290,7 +295,7 @@ static void retrace_CGLTexImageIOSurface2D(trace::Call &call) {
 
     GLvoid * pixels = NULL;
 
-    if (glretrace::currentContext != context) {
+    if (glretrace::getCurrentContext() != context) {
         if (retrace::debug) {
             retrace::warning(call) << "current context mismatch\n";
         }
@@ -316,6 +321,7 @@ const retrace::Entry glretrace::cgl_callbacks[] = {
     {"CGLSetParameter", &retrace::ignore},
     {"CGLGetParameter", &retrace::ignore},
     {"CGLFlushDrawable", &retrace_CGLFlushDrawable},
+    {"CGLUpdateContext", &retrace::ignore},
     {"CGLTexImageIOSurface2D", &retrace_CGLTexImageIOSurface2D},
     {NULL, NULL},
 };