Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
6.2.2
-
e19d48d073 (qt/qtdeclarative/dev) cb4e0c1196 (qt/qtdeclarative/6.3) cb4e0c1196 (qt/tqtc-qtdeclarative/6.3) e19d48d073 (qt/tqtc-qtdeclarative/dev) fad8df5f33 (qt/tqtc-qmlcompilerplus/6.2) fad8df5f33 (qt/tqtc-qmlcompilerplus/6.2.4)
Description
Given the following QML code, the AOT-compiled C++ code will give a different result than the interpreted byte code:
import QtQml 2.7 QtObject { property bool delayed: false property Binding b: Binding { function trigger() { delayed = true } } Component.onCompleted: b.trigger() }
The AOT-compiled code will set Binding's "delayed" property, while the interpreted code will set the root object's "delayed" property. This is because Binding.delayed only became available in QtQml 2.8, but qmlsc doesn't see that. Similarly, it won't see revisioned signals and functions.