diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2019-08-07 12:59:42 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-08-07 13:25:06 +0200 |
commit | b407a77380f189438acf08fefff58e7c5b8fd036 (patch) | |
tree | 1ec820756e75b2e02639fb2b75848af5e630fca4 /src/quickshapes | |
parent | 88cc9d692fc7e2a1bcb647d96bcd820714a29a01 (diff) | |
download | qtdeclarative-b407a77380f189438acf08fefff58e7c5b8fd036.tar.gz |
Fix incorrect vertex data and rendering when shapes change scene
When changing scene, the stroke vertices were left with uninitialized
stroke colors when the item is re-attached to the scene. Marking the
shape data as overall dirty and triggering a polish ensures that the
data is kept in sync.
Change-Id: I3f472734a97908e6e8f6e58230c0c53dcc041868
Done-with: Fabian Kosmale <fabian.kosmale@qt.io>
Fixes: QTBUG-77332
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/quickshapes')
-rw-r--r-- | src/quickshapes/qquickshape.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/quickshapes/qquickshape.cpp b/src/quickshapes/qquickshape.cpp index e8779debde..04e8de5aa0 100644 --- a/src/quickshapes/qquickshape.cpp +++ b/src/quickshapes/qquickshape.cpp @@ -969,6 +969,11 @@ void QQuickShape::itemChange(ItemChange change, const ItemChangeData &data) // sync may have been deferred; do it now if the item became visible if (change == ItemVisibleHasChanged && data.boolValue) d->_q_shapePathChanged(); + else if (change == QQuickItem::ItemSceneChange) { + for (int i = 0; i < d->sp.count(); ++i) + QQuickShapePathPrivate::get(d->sp[i])->dirty = QQuickShapePathPrivate::DirtyAll; + d->_q_shapePathChanged(); + } QQuickItem::itemChange(change, data); } |