diff options
author | Liang Qi <liang.qi@qt.io> | 2017-06-07 12:07:11 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-06-07 12:08:39 +0200 |
commit | 5b89e61c39fb253dae46a8aa48d341a3fd37b4b4 (patch) | |
tree | 5cb87c847af5c330046b36301a3bf5b290d5f24b | |
parent | b490e1b782ac28a82d7902f926f6e041ede179ca (diff) | |
parent | 27c4c643bae356d5bbdb58e44ec4b7932f277886 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
.qmake.conf
Change-Id: I5fa1c321a36fb70023ac7d99879c34c5ceaf8bb3
-rw-r--r-- | dist/changes-5.9.0 | 25 | ||||
-rw-r--r-- | examples/scxml/calculator-widgets/doc/images/calculator.png | bin | 6054 -> 6272 bytes | |||
-rw-r--r-- | examples/scxml/mediaplayer-common/doc/images/mediaplayer.png | bin | 7706 -> 5951 bytes | |||
-rw-r--r-- | examples/scxml/sudoku/doc/images/sudoku.png | bin | 18609 -> 23599 bytes | |||
-rw-r--r-- | src/imports/scxmlstatemachine/plugin.cpp | 8 | ||||
-rw-r--r-- | src/scxml/qscxmlecmascriptdatamodel.cpp | 2 | ||||
-rw-r--r-- | src/scxml/qscxmlexecutablecontent.cpp | 20 |
7 files changed, 45 insertions, 10 deletions
diff --git a/dist/changes-5.9.0 b/dist/changes-5.9.0 new file mode 100644 index 0000000..c314b00 --- /dev/null +++ b/dist/changes-5.9.0 @@ -0,0 +1,25 @@ +Qt 5.9 introduces many new features and improvements as well as bugfixes +over the 5.8.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + +http://doc.qt.io/qt-5/index.html + +The Qt version 5.9 series is binary compatible with the 5.8.x series. +Applications compiled for 5.8 will continue to run with 5.9. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +Important Changes +----------------- + +- Accessor and signal methods for states can now be generated by qscmxlc. + Passing the argument "--statemethods" to qscxmlc will trigger this. + +- The qmake/qscxmlc integration will now pass any arguments given in the qmake + variable "QSCXMLC_ARGUMENTS" to qscxmlc. diff --git a/examples/scxml/calculator-widgets/doc/images/calculator.png b/examples/scxml/calculator-widgets/doc/images/calculator.png Binary files differindex 443242a..0834d0a 100644 --- a/examples/scxml/calculator-widgets/doc/images/calculator.png +++ b/examples/scxml/calculator-widgets/doc/images/calculator.png diff --git a/examples/scxml/mediaplayer-common/doc/images/mediaplayer.png b/examples/scxml/mediaplayer-common/doc/images/mediaplayer.png Binary files differindex 9c32b78..b4c051e 100644 --- a/examples/scxml/mediaplayer-common/doc/images/mediaplayer.png +++ b/examples/scxml/mediaplayer-common/doc/images/mediaplayer.png diff --git a/examples/scxml/sudoku/doc/images/sudoku.png b/examples/scxml/sudoku/doc/images/sudoku.png Binary files differindex ef6d113..5a4a94f 100644 --- a/examples/scxml/sudoku/doc/images/sudoku.png +++ b/examples/scxml/sudoku/doc/images/sudoku.png diff --git a/src/imports/scxmlstatemachine/plugin.cpp b/src/imports/scxmlstatemachine/plugin.cpp index b662491..f1cb413 100644 --- a/src/imports/scxmlstatemachine/plugin.cpp +++ b/src/imports/scxmlstatemachine/plugin.cpp @@ -46,6 +46,13 @@ #include <qqmlextensionplugin.h> #include <qqml.h> +static void initResources() +{ +#ifdef QT_STATIC + Q_INIT_RESOURCE(qmake_QtScxml); +#endif +} + QT_BEGIN_NAMESPACE class QScxmlStateMachinePlugin : public QQmlExtensionPlugin @@ -54,6 +61,7 @@ class QScxmlStateMachinePlugin : public QQmlExtensionPlugin Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) public: + QScxmlStateMachinePlugin(QObject *parent = 0) : QQmlExtensionPlugin(parent) { initResources(); } void registerTypes(const char *uri) { // @uri QtScxml diff --git a/src/scxml/qscxmlecmascriptdatamodel.cpp b/src/scxml/qscxmlecmascriptdatamodel.cpp index a12bb30..2bbf134 100644 --- a/src/scxml/qscxmlecmascriptdatamodel.cpp +++ b/src/scxml/qscxmlecmascriptdatamodel.cpp @@ -289,7 +289,7 @@ private: // Uses private API return; } - s->makeIdentifier(scope.engine); + s->makeIdentifier(); QV4::ScopedValue v(scope, QJSValuePrivate::convertedToValue(engine, value)); o->defineReadonlyProperty(s, v); if (engine->hasException) diff --git a/src/scxml/qscxmlexecutablecontent.cpp b/src/scxml/qscxmlexecutablecontent.cpp index 682ea47..2401aa6 100644 --- a/src/scxml/qscxmlexecutablecontent.cpp +++ b/src/scxml/qscxmlexecutablecontent.cpp @@ -418,15 +418,17 @@ const InstructionId *QScxmlExecutionEngine::step(const InstructionId *ip, bool * qCDebug(qscxmlLog) << stateMachine << "Executing log step"; const Log *log = reinterpret_cast<const Log *>(instr); ip += log->size(); - QString str = dataModel->evaluateToString(log->expr, ok); - if (*ok) { - const QString label = tableData->string(log->label); - qCDebug(scxmlLog) << label << ":" << str; - QMetaObject::invokeMethod(stateMachine, - "log", - Qt::QueuedConnection, - Q_ARG(QString, label), - Q_ARG(QString, str)); + if (log->expr != NoEvaluator) { + const QString str = dataModel->evaluateToString(log->expr, ok); + if (*ok) { + const QString label = tableData->string(log->label); + qCDebug(scxmlLog) << label << ":" << str; + QMetaObject::invokeMethod(stateMachine, + "log", + Qt::QueuedConnection, + Q_ARG(QString, label), + Q_ARG(QString, str)); + } } return ip; } |