aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/scumm/dialogs.cpp14
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) {