summaryrefslogtreecommitdiffstats
path: root/scribus/plugins/scriptplugin/pconsole.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scribus/plugins/scriptplugin/pconsole.cpp')
-rw-r--r--scribus/plugins/scriptplugin/pconsole.cpp22
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