diff --git a/src/plugins/coregui/kumirprogram.cpp b/src/plugins/coregui/kumirprogram.cpp index 1a8ea181509627c1f9ba23ec7e81c38b824ae83b..f59acd260d4d103831f0ad9eb5cb38aee9fc3ca5 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 58c33b825c91e6848973d2d7d9c0cb9d99515677..eb632ef74620cfde19d1cb8bf5c5f578efa3c0e0 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 96027a57c851246f6fe52c81b0c08b93e0e7e989..637d617b1a9f68ca4ff4aca7cd3f58c881915aad 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(); }