diff options
Diffstat (limited to 'scribus/plugins/scriptplugin/pconsole.cpp')
| -rw-r--r-- | scribus/plugins/scriptplugin/pconsole.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/scribus/plugins/scriptplugin/pconsole.cpp b/scribus/plugins/scriptplugin/pconsole.cpp index a7331b1..f68bfae 100644 --- a/scribus/plugins/scriptplugin/pconsole.cpp +++ b/scribus/plugins/scriptplugin/pconsole.cpp @@ -14,12 +14,13 @@ the Free Software Foundation; either version 2 of the License, or #include "pconsole.h" #include <QFileDialog> -#include "scribus.h" +#include "commonstrings.h" #include "prefsmanager.h" #include "prefsfile.h" #include "prefscontext.h" #include "scmessagebox.h" -#include "commonstrings.h" +#include "scribus.h" +#include "scribuscore.h" #include "util_icon.h" @@ -125,6 +126,15 @@ void PythonConsole::languageChange() void PythonConsole::slot_runScript() { outputEdit->clear(); + + //Prevent two scripts to be run concurrently or face crash! + if (ScCore->primaryMainWindow()->scriptIsRunning()) + { + outputEdit->append( tr("Another script is already running...") ); + outputEdit->append( tr("Please let it finish its task...") ); + return; + } + parsePythonString(); emit runCommand(); commandEdit->textCursor().movePosition(QTextCursor::Start); @@ -132,6 +142,14 @@ void PythonConsole::slot_runScript() void PythonConsole::slot_runScriptAsConsole() { + //Prevent two scripts to be run concurrently or face crash! + if (ScCore->primaryMainWindow()->scriptIsRunning()) + { + outputEdit->append( tr("\n>>> Another script is already running...") ); + outputEdit->append( tr("Please let it finish its task...") ); + return; + } + parsePythonString(); commandEdit->clear(); // content is destroyed. This is to prevent overwriting |
