aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/converse.cpp
diff options
context:
space:
mode:
authorKamil Zbróg2013-11-26 18:53:03 +0000
committerKamil Zbróg2013-11-26 18:53:03 +0000
commit15bb1c61eda48f09253ccb8d2a42ccad59f3b00a (patch)
treec2f5ac2907225730c6f1cdaa000f549ef7951183 /engines/tsage/converse.cpp
parent446c57d281e592653c9935c896d33334d23f0519 (diff)
parente1afc7d0d777dad4b7ca0a58f0bb0324b24f9584 (diff)
downloadscummvm-rg350-15bb1c61eda48f09253ccb8d2a42ccad59f3b00a.tar.gz
scummvm-rg350-15bb1c61eda48f09253ccb8d2a42ccad59f3b00a.tar.bz2
scummvm-rg350-15bb1c61eda48f09253ccb8d2a42ccad59f3b00a.zip
Merge remote-tracking branch 'sync/master' into prince-malik
Conflicts: engines/configure.engines engines/engines.mk engines/plugins_table.h
Diffstat (limited to 'engines/tsage/converse.cpp')
-rw-r--r--engines/tsage/converse.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp
index 2298d28e0d..f7c1dd24e6 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;
}