aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2016-12-19 13:53:29 +0100
committerLaszlo Agocs <laszlo.agocs@qt.io>2016-12-21 13:59:03 +0000
commitbf7c6226264bd45095711b2c0556c42b6f267f72 (patch)
tree7959929e8722580322de3019972aeca7d213c31c /src/quick/items
parentc9023c28764e70cd1c6f9cfc3506e6185299548e (diff)
software backend: Fix clipping of QSGRenderNodes
Change-Id: I27aa5f94165fb07807d2bb711d81eade552b9f76 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/quick/items')
-rw-r--r--src/quick/items/qquickpathitemsoftwarerenderer.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/quick/items/qquickpathitemsoftwarerenderer.cpp b/src/quick/items/qquickpathitemsoftwarerenderer.cpp
index 40732e4bf9..f089904fdf 100644
--- a/src/quick/items/qquickpathitemsoftwarerenderer.cpp
+++ b/src/quick/items/qquickpathitemsoftwarerenderer.cpp
@@ -202,12 +202,12 @@ void QQuickPathItemSoftwareRenderNode::render(const RenderState *state)
QPainter *p = static_cast<QPainter *>(rif->getResource(m_item->window(), QSGRendererInterface::PainterResource));
Q_ASSERT(p);
- p->setTransform(matrix()->toTransform());
- p->setOpacity(inheritedOpacity());
-
const QRegion *clipRegion = state->clipRegion();
if (clipRegion && !clipRegion->isEmpty())
- p->setClipRegion(*clipRegion, Qt::IntersectClip);
+ p->setClipRegion(*clipRegion, Qt::ReplaceClip); // must be done before setTransform
+
+ p->setTransform(matrix()->toTransform());
+ p->setOpacity(inheritedOpacity());
p->setPen(!qFuzzyIsNull(m_pen.widthF()) && m_pen.color() != Qt::transparent ? m_pen : Qt::NoPen);
p->setBrush(m_brush.color() != Qt::transparent ? m_brush : Qt::NoBrush);