[Scummvm-cvs-logs] scummvm master -> a559e64ca629a2e488c13d72bc4435daf4ebb5c5
dreammaster
dreammaster at scummvm.org
Sun Nov 24 20:11:08 CET 2013
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:
a559e64ca6 TSAGE: Fix to prevent saving or loading when conversation dialogs are active
Commit: a559e64ca629a2e488c13d72bc4435daf4ebb5c5
https://github.com/scummvm/scummvm/commit/a559e64ca629a2e488c13d72bc4435daf4ebb5c5
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2013-11-24T11:10:33-08:00
Commit Message:
TSAGE: Fix to prevent saving or loading when conversation dialogs are active
Changed paths:
engines/tsage/converse.cpp
diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index 2298d28..f7c1dd2 100644
--- a/engines/tsage/converse.cpp
+++ b/engines/tsage/converse.cpp
@@ -451,6 +451,13 @@ int ConversationChoiceDialog::execute(const Common::StringArray &choiceList) {
draw();
g_globals->_events.showCursor();
+ // WORKAROUND: On-screen dialogs are really meant to use a GfxManager instance
+ // for their lifetime, which prevents saving or loading. Since I don't want to spend a lot
+ // of time refactoring this already working dialog, fake it by putting a dummy gfxmanager at
+ // the end of the gfx manager list so as to prevent saving or loading
+ GfxManager gfxManager;
+ GLOBALS._gfxManagers.push_back(&gfxManager);
+
// Event handling loop
Event event;
while (!g_vm->shouldQuit()) {
@@ -502,6 +509,7 @@ int ConversationChoiceDialog::execute(const Common::StringArray &choiceList) {
// Remove the dialog
remove();
+ GLOBALS._gfxManagers.remove(&gfxManager);
return _selectedIndex;
}
More information about the Scummvm-git-logs
mailing list