summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-08-13 19:55:57 (GMT)
committerMarius Kintel <marius@kintel.net>2012-08-13 19:55:57 (GMT)
commitfaeebb18e46b8c08b7ff8dec15e991fee0e0e276 (patch)
tree579a534421a0a749f65ce8a952c1ae9d38971c46
parent3ac131d39d2c44ac6226911f65708a6e52951815 (diff)
parent029f0f2ba99d1e85dd05f5c863e41cedca37cad8 (diff)
Merge pull request #173 from openscad/issue160
Issue160
-rw-r--r--src/glview.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/glview.cc b/src/glview.cc
index 624b266..859bf82 100644
--- a/src/glview.cc
+++ b/src/glview.cc
@@ -69,6 +69,8 @@ GLView::GLView(const QGLFormat & format, QWidget *parent) : QGLWidget(format, pa
init();
}
+static bool running_under_wine = false;
+
void GLView::init()
{
this->viewer_distance = 500;
@@ -100,6 +102,15 @@ void GLView::init()
static int sId = 0;
this->opencsg_id = sId++;
#endif
+
+// see paintGL() + issue160 + wine FAQ
+#ifdef _WIN32
+#include <windows.h>
+ HMODULE hntdll = GetModuleHandle(L"ntdll.dll");
+ if (hntdll)
+ if ( (void *)GetProcAddress(hntdll, "wine_get_version") )
+ running_under_wine = true;
+#endif
}
void GLView::setRenderer(Renderer *r)
@@ -528,6 +539,8 @@ void GLView::paintGL()
fmodf(360 - object_rot_x + 90, 360), fmodf(360 - object_rot_y, 360), fmodf(360 - object_rot_z, 360), viewer_distance);
statusLabel->setText(msg);
}
+
+ if (running_under_wine) swapBuffers();
}
void GLView::keyPressEvent(QKeyEvent *event)
contact: Jan Huwald // Impressum