]> git.cworth.org Git - apitrace/blobdiff - glws_glx.cpp
Ignore assertion failure on Mac OS X.
[apitrace] / glws_glx.cpp
index 62bbb06e74c77905686708d1f6c7da088b0d24da..30de2f45b8ba8fa0b1b3cbdcd009346a85504c4b 100644 (file)
@@ -29,6 +29,9 @@
 #include "glimports.hpp"
 #include "glws.hpp"
 
+#include <X11/Xlib.h>
+#include <GL/glx.h>
+
 
 namespace glws {
 
@@ -135,9 +138,6 @@ public:
             display, window, name, name,
             None, (char **)NULL, 0, &sizehints);
 
-        XMapWindow(display, window);
-
-        waitForEvent(window, Expose);
         glXWaitX();
     }
 
@@ -158,11 +158,30 @@ public:
 
         XResizeWindow(display, window, w, h);
 
+        // Tell the window manager to respect the requested size
+        XSizeHints *size_hints;
+        size_hints = XAllocSizeHints();
+        size_hints->max_width  = size_hints->min_width  = w;
+        size_hints->max_height = size_hints->min_height = h;
+        size_hints->flags = PMinSize | PMaxSize;
+        XSetWMNormalHints(display, window, size_hints);
+        XFree(size_hints);
+
         waitForEvent(window, ConfigureNotify);
 
         glXWaitX();
     }
 
+    void show(void) {
+        if (!visible) {
+            XMapWindow(display, window);
+
+            waitForEvent(window, Expose);
+
+            Drawable::show();
+        }
+    }
+
     void swapBuffers(void) {
         glXSwapBuffers(display, window);
     }