File tree Expand file tree Collapse file tree 1 file changed +15
-17
lines changed
Expand file tree Collapse file tree 1 file changed +15
-17
lines changed Original file line number Diff line number Diff line change @@ -380,26 +380,24 @@ void Engine::runScripts(const std::vector<std::shared_ptr<VirtualMachine>> &scri
380380 assert (script);
381381 m_breakFrame = false ;
382382
383- do {
384- script->run ();
385- if (script->atEnd () && m_running) {
386- for (auto &[key, value] : m_runningBroadcastMap) {
387- size_t index = 0 ;
388-
389- for (const auto &pair : value) {
390- if (pair.second == script.get ()) {
391- value.erase (value.begin () + index);
392- break ;
393- }
394-
395- index++;
383+ script->run ();
384+ if (script->atEnd () && m_running) {
385+ for (auto &[key, value] : m_runningBroadcastMap) {
386+ size_t index = 0 ;
387+
388+ for (const auto &pair : value) {
389+ if (pair.second == script.get ()) {
390+ value.erase (value.begin () + index);
391+ break ;
396392 }
397- }
398393
399- if ( std::find (m_scriptsToRemove. begin (), m_scriptsToRemove. end (), script. get ()) == m_scriptsToRemove. end ())
400- m_scriptsToRemove. push_back (script. get ());
394+ index++;
395+ }
401396 }
402- } while (!script->atEnd () && !m_breakFrame);
397+
398+ if (std::find (m_scriptsToRemove.begin (), m_scriptsToRemove.end (), script.get ()) == m_scriptsToRemove.end ())
399+ m_scriptsToRemove.push_back (script.get ());
400+ }
403401 }
404402
405403 assert (m_running || m_scriptsToRemove.empty ());
You can’t perform that action at this time.
0 commit comments