From 5fe70973be5b36305f8f8a70bf0383b9d29bd3d5 Mon Sep 17 00:00:00 2001
From: Zack Rusin <zack@kde.org>
Date: Wed, 20 Apr 2011 00:30:50 -0400
Subject: [PATCH] Skip windowing system calls but still allow state fetching on
 them.

---
 glretrace_main.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/glretrace_main.cpp b/glretrace_main.cpp
index 6d42cb5..a18d1cd 100644
--- a/glretrace_main.cpp
+++ b/glretrace_main.cpp
@@ -156,6 +156,7 @@ static void display(void) {
 
     while ((call = parser.parse_call())) {
         const std::string &name = call->name();
+        bool skipCall = false;
 
         if ((name[0] == 'w' && name[1] == 'g' && name[2] == 'l') ||
             (name[0] == 'g' && name[1] == 'l' && name[2] == 'X')) {
@@ -177,9 +178,8 @@ static void display(void) {
                 if (!double_buffer) {
                     frame_complete(call->no);
                 }
-            } else {
-                continue;
             }
+            skipCall = true;
         }
 
         if (name == "glFlush") {
@@ -188,8 +188,10 @@ static void display(void) {
                 frame_complete(call->no);
             }
         }
-        
-        retrace::retrace_call(*call);
+
+        if (!skipCall) {
+            retrace::retrace_call(*call);
+        }
 
         if (!insideGlBeginEnd && call->no >= dump_state) {
             state_dump(std::cout);
-- 
2.45.2