summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2009-06-10 08:21:19 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2009-06-10 08:24:35 (GMT)
commitb2edf6ee037decf53c7d2698863ba63742317acc (patch)
tree9d3c12597aa1a2b45a30cbc9919e08a16da024d2
parent73fa8dd86f14ab161c84fa9224cd4335f352ba75 (diff)
downloadQt-b2edf6ee037decf53c7d2698863ba63742317acc.zip
Qt-b2edf6ee037decf53c7d2698863ba63742317acc.tar.gz
Qt-b2edf6ee037decf53c7d2698863ba63742317acc.tar.bz2
Fixed clipping bug in raster paint engine causing rendering artifacts.
The artifacts were visible in the mainwindow demo when dragging the top toolbar separator left and right. We need to check that rect clipping is actually activated before we compare the new clip rect with the old, otherwise the clip type and clip bound flags won't get updated.
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 0810bb9..7ed2dfd 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -4311,7 +4311,7 @@ QClipData::QClipData(int height)
clipSpanHeight = height;
m_clipLines = 0;
- allocated = height;
+ allocated = 0;
m_spans = 0;
xmin = xmax = ymin = ymax = 0;
count = 0;
@@ -4479,7 +4479,7 @@ void QClipData::fixup()
*/
void QClipData::setClipRect(const QRect &rect)
{
- if (rect == clipRect)
+ if (hasRectClip && rect == clipRect)
return;
// qDebug() << "setClipRect" << clipSpanHeight << count << allocated << rect;