diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2020-07-20 20:43:46 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2020-07-21 15:37:31 +0000 |
commit | 3659f5b41d3cf533b7cd7aec67281200a0c5d73f (patch) | |
tree | ff7ddf8eb2cfcf6121277c34881c2b54eac0c6f6 | |
parent | 6e6b2aa855c30f264a38c9499e4c5183b5aedd0b (diff) | |
download | qt-creator-3659f5b41d3cf533b7cd7aec67281200a0c5d73f.tar.gz |
qmlpreview: stop previews if the language backend is changed
Change-Id: Iadf0712ea429f3bdb8c4109dfb558466fa2743f2
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
-rw-r--r-- | src/plugins/qmlpreview/qmlpreviewplugin.cpp | 5 | ||||
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/qmlpreview/qmlpreviewplugin.cpp b/src/plugins/qmlpreview/qmlpreviewplugin.cpp index 6c92c12b0a..f064395592 100644 --- a/src/plugins/qmlpreview/qmlpreviewplugin.cpp +++ b/src/plugins/qmlpreview/qmlpreviewplugin.cpp @@ -53,6 +53,7 @@ #include <qmljs/qmljsmodelmanagerinterface.h> #include <qmljstools/qmljstoolsconstants.h> +#include <qmlprojectmanager/qmlmultilanguageaspect.h> #include <QAction> using namespace ProjectExplorer; @@ -412,6 +413,10 @@ void QmlPreviewPluginPrivate::setDirty() void QmlPreviewPluginPrivate::addPreview(ProjectExplorer::RunControl *preview) { m_runningPreviews.append(preview); + if (auto multiLanguageAspect = preview->aspect<QmlProjectManager::QmlMultiLanguageAspect>()) { + connect(multiLanguageAspect, &QmlProjectManager::QmlMultiLanguageAspect::changed, + preview, &ProjectExplorer::RunControl::initiateStop); + } emit q->runningPreviewsChanged(m_runningPreviews); } diff --git a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp index 39f7933964..94e36919fe 100644 --- a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp +++ b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp @@ -97,7 +97,6 @@ void QmlMultiLanguageAspect::setLastUsedLanguage(const QString &language) previewPlugin->setProperty("locale", language); if (m_lastUsedLanguage != language) { m_lastUsedLanguage = language; - emit changed(); } } |