Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.0.0
-
None
Description
QV8QObjectConnectionList::qt_metacall doesn't handle exceptions, which can result in an ASSERT inside v8 due to unhandled exceptions between function calls.
import QtQuick 2.0 Item { id: root property int first: 5 property int second: 6 Item { id: exceptional function exceptionalFunction() { var obj = undefined; var prop = undefined; return obj[prop]; // cause exception } } Component.onCompleted: { root["firstChanged"].connect(exceptional.exceptionalFunction); root["firstChanged"].connect(exceptional.exceptionalFunction); root["firstChanged"].connect(exceptional.exceptionalFunction); first = 4; } }