summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpainter.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@nokia.com>2011-06-06 13:19:45 +0200
committerLiang Qi <liang.qi@nokia.com>2011-06-06 13:19:45 +0200
commit872da4c22ed2a82c7e2624b8aef8ebba6c1323d9 (patch)
treecd786e093b64b8685a5d49bd48778a9650ee241f /src/gui/painting/qpainter.cpp
parent1a74ca1d05c7c819db89a82de613d73244b7a980 (diff)
parented2b7e6c592dcf24de2bf34a693f54b5dd569194 (diff)
Merge branch '4.7' into qt-4.8-from-4.7
Conflicts: src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontengine_ft.cpp src/s60installs/bwins/QtGuiu.def
Diffstat (limited to 'src/gui/painting/qpainter.cpp')
-rw-r--r--src/gui/painting/qpainter.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 17b74517b5..760fdca10b 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -2868,6 +2868,9 @@ void QPainter::setClipRect(const QRect &rect, Qt::ClipOperation op)
return;
}
+ if (d->state->clipOperation == Qt::NoClip && op == Qt::IntersectClip)
+ op = Qt::ReplaceClip;
+
d->state->clipRegion = rect;
d->state->clipOperation = op;
if (op == Qt::NoClip || op == Qt::ReplaceClip)
@@ -2923,6 +2926,9 @@ void QPainter::setClipRegion(const QRegion &r, Qt::ClipOperation op)
return;
}
+ if (d->state->clipOperation == Qt::NoClip && op == Qt::IntersectClip)
+ op = Qt::ReplaceClip;
+
d->state->clipRegion = r;
d->state->clipOperation = op;
if (op == Qt::NoClip || op == Qt::ReplaceClip)
@@ -3328,6 +3334,9 @@ void QPainter::setClipPath(const QPainterPath &path, Qt::ClipOperation op)
return;
}
+ if (d->state->clipOperation == Qt::NoClip && op == Qt::IntersectClip)
+ op = Qt::ReplaceClip;
+
d->state->clipPath = path;
d->state->clipOperation = op;
if (op == Qt::NoClip || op == Qt::ReplaceClip)