summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2015-03-02 13:54:11 +0100
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2015-03-02 14:46:03 +0000
commitbcfe1ab47469ad9cd2c69311252ce394a5b744a0 (patch)
tree6e15edcbffe3b8af47316ce5730ef635c960b903 /src/plugins/projectexplorer
parentc34c588438747ea5d6f4f5b8d0b5cc07fbb3c322 (diff)
downloadqt-creator-bcfe1ab47469ad9cd2c69311252ce394a5b744a0.tar.gz
Disable re-run ability for analyzers.
Our analyzers were designed with the assumption that only one of them is ever running (e.g. there is only one instance of the respective UI element for each Analyzer). Run controls, on the other hand, assume that an arbitrary number of them can run concurrently. With "re-run" enabled for an analyzer run control, these concepts clash. A quick test shows that some analyzers actually crash if you try to re-run them, but even if this were not the case, it could not work in a sensible way. Perhaps it would make sense to change the analyzer design so that they too can run concurrently, but not for 3.4, obviously. Change-Id: Ie8650eeef0261f2b697269900d5b465aad10aaf2 Reviewed-by: hjk <hjk@theqtcompany.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r--src/plugins/projectexplorer/appoutputpane.cpp2
-rw-r--r--src/plugins/projectexplorer/runconfiguration.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index aa2877116a..8af58af9a3 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -543,7 +543,7 @@ void AppOutputPane::enableButtons()
void AppOutputPane::enableButtons(const RunControl *rc /* = 0 */, bool isRunning /* = false */)
{
if (rc) {
- m_reRunButton->setEnabled(!isRunning);
+ m_reRunButton->setEnabled(!isRunning && rc->supportsReRunning());
m_reRunButton->setIcon(QIcon(rc->icon()));
m_stopAction->setEnabled(isRunning);
if (isRunning && debuggerPlugin() && rc->applicationProcessHandle().isValid()) {
diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index 67bcae6156..4d54fd4077 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -287,6 +287,7 @@ public:
virtual StopResult stop() = 0;
virtual bool isRunning() const = 0;
virtual QString displayName() const;
+ virtual bool supportsReRunning() const { return true; }
void setIcon(const QString &icon) { m_icon = icon; }
QString icon() const { return m_icon; }