[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