[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