aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlcompiler_p.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-02-28 13:06:28 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-02 20:52:46 +0100
commit735cbe15c20f3a3fde23987b0e1a596d64324f20 (patch)
tree97790ac814e893d7987dddd50a0e77e03b7e17c6 /src/qml/qml/qqmlcompiler_p.h
parenta283fab5bec49cc1588125b3130867796b04e0d0 (diff)
[new compiler] Fix for tst_qqmlconnections
Make sure to pass onFooChanged handlers to QQmlConnection's custom parser by not relying on the signal handler converter to set the IsSignalHandlerExpression flag. That should only be set for real signal handlers, the custom parser gets the raw bindings. Also don't try to initialize bindings at creation time the custom parser covers. Change-Id: Iae22bc886c312843136f073959e59da440f4184c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlcompiler_p.h')
-rw-r--r--src/qml/qml/qqmlcompiler_p.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlcompiler_p.h b/src/qml/qml/qqmlcompiler_p.h
index 5a96580f78..5a6291afe6 100644
--- a/src/qml/qml/qqmlcompiler_p.h
+++ b/src/qml/qml/qqmlcompiler_p.h
@@ -160,7 +160,11 @@ public:
QHash<int, QHash<int, int> > objectIndexToIdPerComponent;
QHash<int, int> objectIndexToIdForRoot;
// hash key is object index
- QHash<int, QByteArray> customParserData;
+ struct CustomParserData {
+ QByteArray compilationArtifact; // produced by custom parser
+ QBitArray bindings; // bindings covered by the custom parser
+ };
+ QHash<int, CustomParserData> customParserData;
QVector<int> customParserBindings; // index is binding identifier, value is compiled function index.
int totalBindingsCount; // Number of bindings used in this type
int totalParserStatusCount; // Number of instantiated types that are QQmlParserStatus subclasses