summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2020-07-20 20:43:46 +0200
committerTim Jenssen <tim.jenssen@qt.io>2020-07-21 15:37:31 +0000
commit3659f5b41d3cf533b7cd7aec67281200a0c5d73f (patch)
treeff7ddf8eb2cfcf6121277c34881c2b54eac0c6f6
parent6e6b2aa855c30f264a38c9499e4c5183b5aedd0b (diff)
downloadqt-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.cpp5
-rw-r--r--src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp1
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();
}
}