From 25cccfcedcf6b5e3564b1858c2544e8aad60f983 Mon Sep 17 00:00:00 2001 From: jghali Date: Wed, 4 Jul 2012 20:21:28 +0000 Subject: #10804: Scribus crash opening 2 script at the same time git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17680 11d20701-8431-0410-a711-e3c959e3b870 --- scribus/plugins/scriptplugin/pconsole.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'scribus/plugins/scriptplugin/pconsole.cpp') 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 -#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 -- cgit