diff options
author | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-03-02 13:54:11 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-03-02 14:46:03 +0000 |
commit | bcfe1ab47469ad9cd2c69311252ce394a5b744a0 (patch) | |
tree | 6e15edcbffe3b8af47316ce5730ef635c960b903 /src/plugins/projectexplorer | |
parent | c34c588438747ea5d6f4f5b8d0b5cc07fbb3c322 (diff) | |
download | qt-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.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runconfiguration.h | 1 |
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; } |