diff options
Diffstat (limited to 'src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp')
-rw-r--r-- | src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp b/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp index 3fb230b928..eac5e2cef8 100644 --- a/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp +++ b/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp @@ -207,6 +207,7 @@ void QQuickContext2DCommandBuffer::setPainterState(QPainter* p, const QQuickCont if (state.globalCompositeOperation != p->compositionMode()) p->setCompositionMode(state.globalCompositeOperation); + p->setClipping(state.clip); if (state.clip) p->setClipPath(state.clipPath); } @@ -383,9 +384,11 @@ void QQuickContext2DCommandBuffer::replay(QPainter* p, QQuickContext2D::State& s } case QQuickContext2D::Clip: { + state.clip = takeBool(); state.clipPath = takePath(); - p->setClipping(true); - p->setClipPath(state.clipPath); + p->setClipping(state.clip); + if (state.clip) + p->setClipPath(state.clipPath); break; } case QQuickContext2D::GlobalAlpha: |