summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_raster.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qpaintengine_raster.cpp')
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 33fde8c61a..6336b2943e 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -698,6 +698,11 @@ void QRasterPaintEngine::setState(QPainterState *s)
{
Q_D(QRasterPaintEngine);
QPaintEngineEx::setState(s);
+ QRasterPaintEngineState *t = state();
+ if (t->clip && t->clip->enabled != t->clipEnabled) {
+ // Since we do not "detach" clipdata when changing only enabled state, we need to resync state here
+ t->clip->enabled = t->clipEnabled;
+ }
d->rasterBuffer->compositionMode = s->composition_mode;
}