summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2009-08-27 10:12:49 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2009-08-27 10:15:43 (GMT)
commitf4a2e715dea26ab732352839f614f6236fce604b (patch)
tree396870d3b440ab1172a26aaa1a8b72cad4a4ee83
parent917d176fb49ee1cd54a57305e4d7ef1bd7ce6f34 (diff)
downloadQt-f4a2e715dea26ab732352839f614f6236fce604b.zip
Qt-f4a2e715dea26ab732352839f614f6236fce604b.tar.gz
Qt-f4a2e715dea26ab732352839f614f6236fce604b.tar.bz2
Fixed clipping bugs in QGLWidgets (very noticeable in sub-attaq).
When the paint engine used by QGLWidgets was the GL 2 paint engine the backing store assumed partial update support, which is not the case. We need to check for both QPaintEngine::OpenGL and QPaintEngine::OpenGL2. Reviewed-by: Trond
-rw-r--r--src/gui/painting/qbackingstore.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index 0fffaef..4f45c3d 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -1544,7 +1544,8 @@ void QWidgetPrivate::repaint_sys(const QRegion &rgn)
// QGLWidget does not support partial updates if:
// 1) The context is double buffered
// 2) The context is single buffered and auto-fill background is enabled.
- const bool noPartialUpdateSupport = (engine && engine->type() == QPaintEngine::OpenGL)
+ const bool noPartialUpdateSupport = (engine && engine->type() == QPaintEngine::OpenGL
+ || engine->type() == QPaintEngine::OpenGL2)
&& (usesDoubleBufferedGLContext || q->autoFillBackground());
QRegion toBePainted(noPartialUpdateSupport ? q->rect() : rgn);