aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2016-07-08 13:06:21 +0200
committerRobin Burchell <robin.burchell@viroteck.net>2016-07-11 21:37:32 +0000
commit6fabc0683c6cf0736b4ae9a00f1b138803e461d1 (patch)
tree01fccac3bb73d1bb276288a75e85ad5691903ea7 /src/particles
parent921ad53c1deb8183f888bf98248d0dcb42838b38 (diff)
QtQuick: fix use-after-free of shader property connections
A use-after-free would occur if the sender of a connection would disconnect (and destroy the slot object), and then the receiver would try to clean-up and access the slot object again. The fix is to have the receiver take out a reference to the slot object, because it will manage the life-time, and thus delete the slot object when it doesn't need it anymore. Change-Id: Ie2033cfb7212acceb2c2cd0bd9e7e45c2dd5e434 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src/particles')
-rw-r--r--src/particles/qquickcustomparticle.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/particles/qquickcustomparticle.cpp b/src/particles/qquickcustomparticle.cpp
index 8ee431aeb2..c08ae3d9ff 100644
--- a/src/particles/qquickcustomparticle.cpp
+++ b/src/particles/qquickcustomparticle.cpp
@@ -207,7 +207,7 @@ void QQuickCustomParticle::updateVertexShader()
{
m_common.disconnectPropertySignals(this, Key::VertexShader);
m_common.uniformData[Key::VertexShader].clear();
- m_common.signalMappers[Key::VertexShader].clear();
+ m_common.clearSignalMappers(Key::VertexShader);
m_common.attributes.clear();
m_common.attributes.append("qt_ParticlePos");
m_common.attributes.append("qt_ParticleTex");