forked from qt-creator/qt-creator
QmlPuppet: Fix crash at puppet reset
Puppet cleanup was not handled properly, so derefFromEffectItem() was not called for all objects that needed it, causing puppet to crash at shutdown. Fixes: QDS-3461 Change-Id: I22c0552fe1223789fa42b276ab377d4a9e929955 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -59,8 +59,15 @@ QuickItemNodeInstance::QuickItemNodeInstance(QQuickItem *item)
|
||||
|
||||
QuickItemNodeInstance::~QuickItemNodeInstance()
|
||||
{
|
||||
if (quickItem() && checkIfRefFromEffect(instanceId()))
|
||||
designerSupport()->derefFromEffectItem(quickItem());
|
||||
}
|
||||
|
||||
void QuickItemNodeInstance::handleObjectDeletion(QObject *object)
|
||||
{
|
||||
auto item = qobject_cast<QQuickItem *>(object);
|
||||
if (item && checkIfRefFromEffect(instanceId()))
|
||||
designerSupport()->derefFromEffectItem(item);
|
||||
|
||||
ObjectNodeInstance::handleObjectDeletion(object);
|
||||
}
|
||||
|
||||
static bool isContentItem(QQuickItem *item, NodeInstanceServer *nodeInstanceServer)
|
||||
|
||||
Reference in New Issue
Block a user