[Scummvm-cvs-logs] scummvm master -> 4c03e4b699916a9b9fe71afffaf41c283045216e
wjp
wjp at usecode.org
Sun Apr 26 00:49:56 CEST 2015
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:
4c03e4b699 SCI: Stop processing in kGetEvent after loading
Commit: 4c03e4b699916a9b9fe71afffaf41c283045216e
https://github.com/scummvm/scummvm/commit/4c03e4b699916a9b9fe71afffaf41c283045216e
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2015-04-26T00:48:07+02:00
Commit Message:
SCI: Stop processing in kGetEvent after loading
getSciEvent can trigger the main ScummVM menu, which can trigger loading
a game, which will invalidate the game state that kGetEvent is operating
on.
Other kernel functions may still have the same problem, and a better
solution may be necessary.
Changed paths:
engines/sci/engine/kevent.cpp
diff --git a/engines/sci/engine/kevent.cpp b/engines/sci/engine/kevent.cpp
index cb81da2..dfa29bd 100644
--- a/engines/sci/engine/kevent.cpp
+++ b/engines/sci/engine/kevent.cpp
@@ -74,6 +74,11 @@ reg_t kGetEvent(EngineState *s, int argc, reg_t *argv) {
curEvent = g_sci->getEventManager()->getSciEvent(mask);
+ // Aborted during getSciEvent (e.g., due to loading a game from the
+ // ScummVM menu), so return immediately
+ if (s->abortScriptProcessing)
+ return NULL_REG;
+
// For a real event we use its associated mouse position
mousePos = curEvent.mousePos;
#ifdef ENABLE_SCI32
More information about the Scummvm-git-logs
mailing list