diff options
Diffstat (limited to 'engines/scumm/dialogs.cpp')
-rw-r--r-- | engines/scumm/dialogs.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 6cc6224bfa..d5c1164c9b 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -344,6 +344,8 @@ protected: GUI::StaticTextWidget *_playtime; ScummEngine *_scumm; + virtual void handleScreenChanged(); + public: SaveLoadChooserEx(const String &title, const String &buttonLabel, bool saveMode, ScummEngine *engine); @@ -508,6 +510,18 @@ void SaveLoadChooserEx::handleCommand(CommandSender *sender, uint32 cmd, uint32 } } +void SaveLoadChooserEx::handleScreenChanged() { + int selItem = _list->getSelected(); + Graphics::Surface *thumb; + thumb = _scumm->loadThumbnailFromSlot(_saveMode ? selItem + 1 : selItem); + _gfxWidget->setGfx(thumb); + if (thumb) + thumb->free(); + delete thumb; + + Dialog::handleScreenChanged(); +} + #pragma mark - Common::StringList generateSavegameList(ScummEngine *scumm, bool saveMode) { |