Fixed clipping errors for non-extended paint engines.

Partially revert change a33ef62469fd71bec for the non-extended paint
engine path.

Task-number: QTBUG-19525
Reviewed-by: Andy Shaw
(cherry picked from commit f370dd07560c449ba17d13475721f7d3b46e6b24)

Change-Id: I19eaaa265a54b2df65a8ec73e36fbdf58b1a4334
Reviewed-on: http://codereview.qt.nokia.com/1211
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
This commit is contained in:
Samuel Rødal 2011-05-30 09:38:47 +02:00 committed by Qt by Nokia
parent ff63d0f28c
commit 41f9e765f5

View File

@ -2849,6 +2849,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)
@ -2904,6 +2907,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)
@ -3309,6 +3315,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)