diff options
author | Liang Qi <liang.qi@qt.io> | 2017-10-30 08:45:34 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-10-30 09:24:34 +0100 |
commit | 2143fd3362cc294c3076f879ef20c70ed3683f33 (patch) | |
tree | 132ea199c80976b10be4e086dcb8ef34bfb4cad6 /src | |
parent | 3ba4176568867cb146c2b758cd39461367ad22d1 (diff) | |
parent | 113b502b194d6d7573b9f86f400bdf481e98cf74 (diff) |
Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-beta4
Conflicts:
.qmake.conf
Change-Id: Idcb35d4015f20d785263f00fe42d4839c7c4ad48
Diffstat (limited to 'src')
-rw-r--r-- | src/imports/scxmlstatemachine/statemachineloader.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/imports/scxmlstatemachine/statemachineloader.cpp b/src/imports/scxmlstatemachine/statemachineloader.cpp index 946988f..0d28e6c 100644 --- a/src/imports/scxmlstatemachine/statemachineloader.cpp +++ b/src/imports/scxmlstatemachine/statemachineloader.cpp @@ -163,7 +163,18 @@ bool QScxmlStateMachineLoader::parse(const QUrl &source) return false; } - m_stateMachine = QScxmlStateMachine::fromData(&buf, source.toString()); + QString fileName; + if (source.isLocalFile()) { + fileName = source.toLocalFile(); + } else if (source.scheme() == QStringLiteral("qrc")) { + fileName = ":" + source.path(); + } else { + qmlWarning(this) << QStringLiteral("%1 is neither a local nor a resource URL.") + .arg(source.url()) + << QStringLiteral("Invoking services by relative path will not work."); + } + + m_stateMachine = QScxmlStateMachine::fromData(&buf, fileName); m_stateMachine->setParent(this); m_implicitDataModel = m_stateMachine->dataModel(); |