QQmlProperty: fix signal handler warning
It should only be emitted if we find a signal of that name.
Pick-to: 6.6 6.5
Fixes: QTBUG-118710
Change-Id: I15cf92c03dd7b46805e5a69078ca2beb6c862293
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 9d10b79566
)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
c4ce86c791
commit
6c0489e65f
|
@ -411,13 +411,14 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name,
|
|||
} else {
|
||||
signalName = QQmlSignalNames::badHandlerNameToSignalName(terminal);
|
||||
if (signalName) {
|
||||
qWarning()
|
||||
<< terminal
|
||||
<< "is not a properly capitalized signal handler name."
|
||||
<< QQmlSignalNames::signalNameToHandlerName(*signalName)
|
||||
<< "would be correct.";
|
||||
if (findSignal(*signalName))
|
||||
if (findSignal(*signalName)) {
|
||||
qWarning()
|
||||
<< terminal
|
||||
<< "is not a properly capitalized signal handler name."
|
||||
<< QQmlSignalNames::signalNameToHandlerName(*signalName)
|
||||
<< "would be correct.";
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
import QtQml
|
||||
|
||||
QtObject {
|
||||
id: root
|
||||
property int onlineStatus
|
||||
property Binding b: Binding {
|
||||
root.onlineStatus: 12
|
||||
}
|
||||
}
|
|
@ -222,6 +222,8 @@ private slots:
|
|||
|
||||
void invalidateQPropertyChangeTriggers();
|
||||
|
||||
void propertyStartsWithOn();
|
||||
|
||||
private:
|
||||
QQmlEngine engine;
|
||||
};
|
||||
|
@ -2589,6 +2591,18 @@ void tst_qqmlproperty::invalidateQPropertyChangeTriggers()
|
|||
}));
|
||||
}
|
||||
|
||||
void tst_qqmlproperty::propertyStartsWithOn()
|
||||
{
|
||||
QTest::failOnWarning("\"onlineStatus\" is not a properly capitalized signal handler name. "
|
||||
"\"onLineStatus\" would be correct.");
|
||||
QQmlEngine engine;
|
||||
QQmlComponent component(&engine, testFileUrl("propertyStartsWithOn.qml"));
|
||||
QVERIFY2(component.isReady(), qPrintable(component.errorString()));
|
||||
QScopedPointer<QObject> root(component.create());
|
||||
QVERIFY(!root.isNull());
|
||||
QCOMPARE(root->property("onlineStatus").toInt(), 12);
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_qqmlproperty)
|
||||
|
||||
#include "tst_qqmlproperty.moc"
|
||||
|
|
Loading…
Reference in New Issue