[Scummvm-git-logs] scummvm master -> 57bac4ff9ac980fddb08303b534748e9d3fc4e2c

ysj1173886760 42030331+ysj1173886760 at users.noreply.github.com
Fri Aug 6 09:01:18 UTC 2021


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:
57bac4ff9a DIRECTOR: fix processing timeOut related events


Commit: 57bac4ff9ac980fddb08303b534748e9d3fc4e2c
    https://github.com/scummvm/scummvm/commit/57bac4ff9ac980fddb08303b534748e9d3fc4e2c
Author: ysj1173886760 (1173886760 at qq.com)
Date: 2021-08-06T17:01:07+08:00

Commit Message:
DIRECTOR: fix processing timeOut related events

Changed paths:
    engines/director/events.cpp


diff --git a/engines/director/events.cpp b/engines/director/events.cpp
index c243a20d2b..cc9de68baa 100644
--- a/engines/director/events.cpp
+++ b/engines/director/events.cpp
@@ -43,22 +43,23 @@ bool DirectorEngine::processEvents(bool captureClick) {
 	debugC(3, kDebugEvents, "@@@@   Processing events");
 	debugC(3, kDebugEvents, "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
 
+	Movie *currentMovie = g_director->getCurrentMovie();
 	// update and register timeOut event
-	if (getMacTicks() - g_director->getCurrentMovie()->_lastTimeOut >= g_director->getCurrentMovie()->_timeOutLength) {
-		g_director->getCurrentMovie()->registerEvent(kEventTimeout);
-		g_director->getCurrentMovie()->_lastTimeOut = getMacTicks();
+	if (currentMovie && getMacTicks() - currentMovie->_lastTimeOut >= currentMovie->_timeOutLength) {
+		currentMovie->registerEvent(kEventTimeout);
+		currentMovie->_lastTimeOut = getMacTicks();
 	}
 
-	if (g_director->getCurrentMovie()->_timeOutPlay && g_director->_playbackPaused)
-		g_director->getCurrentMovie()->_lastTimeOut = getMacTicks();
+	if (currentMovie && currentMovie->_timeOutPlay && g_director->_playbackPaused)
+		currentMovie->_lastTimeOut = getMacTicks();
 
 	Common::Event event;
 	while (g_system->getEventManager()->pollEvent(event)) {
 		// update timeOut related values
-		if (event.type == Common::EVENT_LBUTTONDOWN && g_director->getCurrentMovie()->_timeOutMouse)
-			g_director->getCurrentMovie()->_lastTimeOut = getMacTicks();
-		if (event.type == Common::EVENT_KEYDOWN && g_director->getCurrentMovie()->_timeOutKeyDown)
-			g_director->getCurrentMovie()->_lastTimeOut = getMacTicks();
+		if (currentMovie && event.type == Common::EVENT_LBUTTONDOWN && g_director->getCurrentMovie()->_timeOutMouse)
+			currentMovie->_lastTimeOut = getMacTicks();
+		if (currentMovie && event.type == Common::EVENT_KEYDOWN && g_director->getCurrentMovie()->_timeOutKeyDown)
+			currentMovie->_lastTimeOut = getMacTicks();
 
 		if (!_wm->processEvent(event)) {
 			// We only want to handle these events if the event




More information about the Scummvm-git-logs mailing list