aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/macros/macromanager.cpp
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2011-07-26 13:42:34 +0200
committerEike Ziller <[email protected]>2011-07-26 13:44:32 +0200
commite78bc71851739e6f039db688bd5c255167d4f02f (patch)
tree59b037a0ad27f5828a54d103d506b9044ab33021 /src/plugins/macros/macromanager.cpp
parent1f3ab9baf33744cacc07796a26450d7e0111abfd (diff)
Fix crash when replying macro including alt+r
Task-number: QTCREATORBUG-5331 Change-Id: Ice1b9d0bdd153e437e5a70b208947b6db98cc1e3 Reviewed-on: http://codereview.qt.nokia.com/2189 Reviewed-by: Qt Sanity Bot <[email protected]> Reviewed-by: Eike Ziller <[email protected]>
Diffstat (limited to 'src/plugins/macros/macromanager.cpp')
-rw-r--r--src/plugins/macros/macromanager.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp
index 57b99e5173a..6f799818ab9 100644
--- a/src/plugins/macros/macromanager.cpp
+++ b/src/plugins/macros/macromanager.cpp
@@ -323,8 +323,22 @@ void MacroManager::endMacro()
void MacroManager::executeLastMacro()
{
- if (d->currentMacro)
- d->executeMacro(d->currentMacro);
+ if (!d->currentMacro)
+ return;
+
+ // make sure the macro doesn't accidentally invoke a macro action
+ Core::ActionManager *am = Core::ICore::instance()->actionManager();
+ am->command(Constants::START_MACRO)->action()->setEnabled(false);
+ am->command(Constants::END_MACRO)->action()->setEnabled(false);
+ am->command(Constants::EXECUTE_LAST_MACRO)->action()->setEnabled(false);
+ am->command(Constants::SAVE_LAST_MACRO)->action()->setEnabled(false);
+
+ d->executeMacro(d->currentMacro);
+
+ am->command(Constants::START_MACRO)->action()->setEnabled(true);
+ am->command(Constants::END_MACRO)->action()->setEnabled(false);
+ am->command(Constants::EXECUTE_LAST_MACRO)->action()->setEnabled(true);
+ am->command(Constants::SAVE_LAST_MACRO)->action()->setEnabled(true);
}
bool MacroManager::executeMacro(const QString &name)