diff options
author | Kamil Zbróg | 2013-11-26 18:53:03 +0000 |
---|---|---|
committer | Kamil Zbróg | 2013-11-26 18:53:03 +0000 |
commit | 15bb1c61eda48f09253ccb8d2a42ccad59f3b00a (patch) | |
tree | c2f5ac2907225730c6f1cdaa000f549ef7951183 /engines/tsage/converse.cpp | |
parent | 446c57d281e592653c9935c896d33334d23f0519 (diff) | |
parent | e1afc7d0d777dad4b7ca0a58f0bb0324b24f9584 (diff) | |
download | scummvm-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.cpp | 8 |
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; } |