From a709bc3198b6945ecc89644cc6291213a78b28cc Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 19 Feb 2016 18:20:27 +0100 Subject: [PATCH] QmlDesigner: Improve heuristic to detect signal handlers is also a signal handler. The old heuristic has to be applied to the last element after splitting the string by ".". Change-Id: Ied47bc6acbab32d782f6827cf849711aed600222 Reviewed-by: Tim Jenssen --- .../qmldesigner/designercore/model/texttomodelmerger.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index c3905b91dc7..d9185c709b1 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -156,9 +156,14 @@ static inline QString fixEscapedUnicodeChar(const QString &value) //convert "\u2 static inline bool isSignalPropertyName(const QString &signalName) { + if (signalName.isEmpty()) + return false; // see QmlCompiler::isSignalPropertyName - return signalName.length() >= 3 && signalName.startsWith(QStringLiteral("on")) && - signalName.at(2).isLetter(); + QStringList list = signalName.split(QLatin1String(".")); + + QString pureSignalName = list.last(); + return pureSignalName.length() >= 3 && pureSignalName.startsWith(QStringLiteral("on")) && + pureSignalName.at(2).isLetter(); } static inline QVariant cleverConvert(const QString &value)