From 78ac56d696e32d62818af760b696ce5201673aa3 Mon Sep 17 00:00:00 2001 From: Victor Yacovlev Date: Tue, 11 Jun 2013 18:45:26 +0400 Subject: [PATCH] FS#1254 --- src/plugins/coregui/kumirprogram.cpp | 4 ++-- src/plugins/coregui/kumirprogram.h | 3 +++ src/plugins/coregui/plugin.cpp | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/coregui/kumirprogram.cpp b/src/plugins/coregui/kumirprogram.cpp index 1a8ea181..f59acd26 100644 --- a/src/plugins/coregui/kumirprogram.cpp +++ b/src/plugins/coregui/kumirprogram.cpp @@ -31,7 +31,7 @@ KumirProgram::KumirProgram(QObject *parent) , w_debuggerWindow(0) { b_blind = false; - + courseManagerRequest_ = false; a_regularRun = new QAction(tr("Regular run"), this); a_regularRun->setIcon(QIcon::fromTheme("media-playback-start", QIcon(QApplication::instance()->property("sharePath").toString()+"/icons/media-playback-start.png"))); connect(a_regularRun, SIGNAL(triggered()), this, SLOT(regularRun())); @@ -477,7 +477,7 @@ void KumirProgram::handleRunnerStopped(int rr) typedef Shared::RunInterface RI; RI * runner = ExtensionSystem::PluginManager::instance()->findPlugin(); - if (courseManager && previousState == TestingRun) { + if (courseManager && previousState == TestingRun && courseManagerRequest_) { if (reason == Shared::RunInterface::SR_UserTerminated) { courseManager->setTestingResult(CI::UserTerminated, 0); } diff --git a/src/plugins/coregui/kumirprogram.h b/src/plugins/coregui/kumirprogram.h index 58c33b82..eb632ef7 100644 --- a/src/plugins/coregui/kumirprogram.h +++ b/src/plugins/coregui/kumirprogram.h @@ -39,6 +39,7 @@ public: void setBytecodeRun(KPlugin * run); inline QString endStatus() const { return s_endStatus; } + inline void setCourseManagerRequest() { courseManagerRequest_ = true; } ~KumirProgram(); signals: void giveMeAProgram(); @@ -84,6 +85,8 @@ private: QActionGroup * gr_actions; QString s_sourceFileName; + bool courseManagerRequest_; + int documentId_; bool b_blind; int i_timerId; diff --git a/src/plugins/coregui/plugin.cpp b/src/plugins/coregui/plugin.cpp index 96027a57..637d617b 100644 --- a/src/plugins/coregui/plugin.cpp +++ b/src/plugins/coregui/plugin.cpp @@ -511,6 +511,7 @@ GuiInterface::ProgramSourceText Plugin::programSource() const void Plugin::startTesting() { + kumirProgram_->setCourseManagerRequest(); kumirProgram_->testingRun(); } -- GitLab