diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2011-11-15 09:21:24 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-16 09:07:49 +0100 |
commit | 09313a8a3364c807a63ad69d4293f7502f10a8df (patch) | |
tree | 1fd2ba19c7754de14b346650f371b0211009d061 /src/declarative/qml | |
parent | 01daf72ee66fb3fb5d9378ecaa42c9ace8bc6c76 (diff) |
Make non-threaded VME interpreter work again
625bb0520708879ef5d281ab0c62fc7ad5415441 added a statement
to the QML_NEXT_INSTR macro without turning the macro
definition into a block. This caused statements like
if (foo)
QML_NEXT_INSTR(bar);
to unexpectedly break from the switch (the second statement
in the QML_NEXT_INSTR expansion is "break").
Change-Id: I384280eaea1dd1f3b940be67d589f3a03d9e8685
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/declarative/qml')
-rw-r--r-- | src/declarative/qml/qdeclarativevme.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp index 52095e34f3..e39a7c90f8 100644 --- a/src/declarative/qml/qdeclarativevme.cpp +++ b/src/declarative/qml/qdeclarativevme.cpp @@ -226,9 +226,11 @@ static void removeBindingOnProperty(QObject *o, int index) case QDeclarativeInstruction::I: \ QML_BEGIN_INSTR_COMMON(I) -# define QML_NEXT_INSTR(I) \ +# define QML_NEXT_INSTR(I) { \ if (watcher.hasRecursed()) return 0; \ - break; + break; \ + } + # define QML_END_INSTR(I) \ if (watcher.hasRecursed() || interrupt.shouldInterrupt()) return 0; \ } break; |