[Scummvm-git-logs] scummvm master -> fd02d0a9f5d0522e938710549ef804964557aee5
moralrecordings
code at moral.net.au
Wed Jun 3 16:56:27 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
fd02d0a9f5 DIRECTOR: Fix idle event from preventing exit
Commit: fd02d0a9f5d0522e938710549ef804964557aee5
https://github.com/scummvm/scummvm/commit/fd02d0a9f5d0522e938710549ef804964557aee5
Author: Scott Percival (code at moral.net.au)
Date: 2020-06-04T00:56:10+08:00
Commit Message:
DIRECTOR: Fix idle event from preventing exit
Changed paths:
engines/director/events.cpp
engines/director/lingo/lingo-events.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/events.cpp b/engines/director/events.cpp
index 58304fb400..0571c34140 100644
--- a/engines/director/events.cpp
+++ b/engines/director/events.cpp
@@ -168,7 +168,7 @@ void DirectorEngine::processEvents(bool bufferLingoEvents) {
g_system->updateScreen();
g_system->delayMillis(10);
- if (sc->getCurrentFrame() > 0)
+ if (sc->getCurrentFrame() > 0 && !sc->_stopPlay && _lingo->getEventCount() == 0)
_lingo->registerEvent(kEventIdle);
if (!bufferLingoEvents)
diff --git a/engines/director/lingo/lingo-events.cpp b/engines/director/lingo/lingo-events.cpp
index afcb9d848e..0f5fd70127 100644
--- a/engines/director/lingo/lingo-events.cpp
+++ b/engines/director/lingo/lingo-events.cpp
@@ -94,6 +94,10 @@ ScriptType Lingo::event2script(LEvent ev) {
return kNoneScript;
}
+int Lingo::getEventCount() {
+ return _eventQueue.size();
+}
+
void Lingo::primaryEventHandler(LEvent event) {
/* When an event occurs the message [...] is first sent to a
* primary event handler: [... if exists it is executed] and the
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index ef5d4c48e7..06221eaa8d 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -320,6 +320,7 @@ public:
ScriptType event2script(LEvent ev);
Symbol getHandler(const Common::String &name);
+ int getEventCount();
void processEvent(LEvent event);
void processEvents();
void registerEvent(LEvent event);
More information about the Scummvm-git-logs
mailing list