summaryrefslogtreecommitdiff
path: root/src/webchannel/qmetaobjectpublisher.cpp
diff options
context:
space:
mode:
authorLutz Schönemann <lutz.schoenemann@basyskom.com>2014-12-01 16:12:22 +0100
committerSumedha Widyadharma <sumedha.widyadharma@basyskom.com>2014-12-03 10:47:44 +0100
commited40ffb381e1f874145b70de43961298428c03af (patch)
tree9d29e86e7664c25397e309f8196807c717063990 /src/webchannel/qmetaobjectpublisher.cpp
parent6a352361a54afa4b340e88771ff885ee32b932f2 (diff)
downloadqtwebchannel-ed40ffb381e1f874145b70de43961298428c03af.tar.gz
Fix crash on signal after deregistration
Implemented a remove method in SignalHandler that allows us to remove and disconnect an object from SignalHandler w/o decrementing the connection counter until it hits zero or deleting the object That same functionality was used to remove an object from internal lists when receiving a destroyed signal from an object. In case of deregistering an object we haven't received a destoryed signal but simulated reception of that signal and so that code was not called in that case. Change-Id: Ie20cf628a2de028375f5d29f913682e25ebf8d44 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Diffstat (limited to 'src/webchannel/qmetaobjectpublisher.cpp')
-rw-r--r--src/webchannel/qmetaobjectpublisher.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/webchannel/qmetaobjectpublisher.cpp b/src/webchannel/qmetaobjectpublisher.cpp
index b3ae23c..b92cf51 100644
--- a/src/webchannel/qmetaobjectpublisher.cpp
+++ b/src/webchannel/qmetaobjectpublisher.cpp
@@ -403,6 +403,7 @@ void QMetaObjectPublisher::objectDestroyed(const QObject *object)
Q_ASSERT(removed);
Q_UNUSED(removed);
+ signalHandler.remove(object);
signalToPropertyMap.remove(object);
pendingPropertyUpdates.remove(object);
wrappedObjects.remove(object);