[Scummvm-git-logs] scummvm master -> e7219aa57f4b1a9a8078f1a2c5339723181a4f6e
sev-
noreply at scummvm.org
Sun Feb 8 14:56:46 UTC 2026
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
7cb7a322c1 GUI: Added Help button to Launcher, GMM and the Browser dialog
e7219aa57f GRAPHICS: Do not crash in case help image packs are missing
Commit: 7cb7a322c1a5caa9b5bac6a9be5c050d78a09603
https://github.com/scummvm/scummvm/commit/7cb7a322c1a5caa9b5bac6a9be5c050d78a09603
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-02-08T15:56:42+01:00
Commit Message:
GUI: Added Help button to Launcher, GMM and the Browser dialog
It leads to the Markdown help. In the launcher we show button
only on highres, non-classic themes, due to absence of vertical space
Also bump the theme version.
Changed paths:
engines/dialogs.cpp
engines/dialogs.h
gui/ThemeEngine.h
gui/browser.cpp
gui/launcher.cpp
gui/launcher.h
gui/themes/common/highres_layout.stx
gui/themes/common/lowres_layout.stx
gui/themes/default.inc
gui/themes/residualvm.zip
gui/themes/residualvm/THEMERC
gui/themes/scummclassic.zip
gui/themes/scummclassic/THEMERC
gui/themes/scummclassic/classic_layout.stx
gui/themes/scummclassic/classic_layout_lowres.stx
gui/themes/scummmodern.zip
gui/themes/scummmodern/THEMERC
gui/themes/scummremastered.zip
gui/themes/scummremastered/THEMERC
diff --git a/engines/dialogs.cpp b/engines/dialogs.cpp
index e56931b36b9..441074e514f 100644
--- a/engines/dialogs.cpp
+++ b/engines/dialogs.cpp
@@ -29,6 +29,7 @@
#include "gui/about.h"
#include "gui/gui-manager.h"
+#include "gui/helpdialog.h"
#include "gui/message.h"
#include "gui/options.h"
#include "gui/saveload.h"
@@ -75,10 +76,12 @@ MainMenuDialog::MainMenuDialog(Engine *engine)
// The help button is disabled by default.
// To enable "Help", an engine needs to use a subclass of MainMenuDialog
// (at least for now, we might change how this works in the future).
- _helpButton = new GUI::ButtonWidget(this, "GlobalMenu.Help", _("~H~elp"), Common::U32String(), kHelpCmd);
+ _helpButton = new GUI::ButtonWidget(this, "GlobalMenu.Help", _("Game ~H~elp"), Common::U32String(), kHelpCmd);
_helpButton->setVisible(_engine->hasFeature(Engine::kSupportsHelp));
_helpButton->setEnabled(_engine->hasFeature(Engine::kSupportsHelp));
+ new GUI::ButtonWidget(this, "GlobalMenu.MainHelp", _("~H~elp"), Common::U32String(), kMainHelpCmd);
+
new GUI::ButtonWidget(this, "GlobalMenu.About", _("~A~bout"), Common::U32String(), kAboutCmd);
if (g_gui.getGUIWidth() > 320)
@@ -128,6 +131,11 @@ void MainMenuDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint3
dialog.runModal();
}
break;
+ case kMainHelpCmd: {
+ GUI::HelpDialog dlg;
+ dlg.runModal();
+ }
+ break;
case kLauncherCmd: {
Common::Event eventReturnToLauncher;
eventReturnToLauncher.type = Common::EVENT_RETURN_TO_LAUNCHER;
diff --git a/engines/dialogs.h b/engines/dialogs.h
index d8e9210a5f7..6435b6b8563 100644
--- a/engines/dialogs.h
+++ b/engines/dialogs.h
@@ -43,6 +43,7 @@ public:
kPlayCmd = 'PLAY',
kOptionsCmd = 'OPTN',
kHelpCmd = 'HELP',
+ kMainHelpCmd = 'MHLP',
kAboutCmd = 'ABOU',
kQuitCmd = 'QUIT',
kLauncherCmd = 'LNCR',
diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
index 940298eff25..e00f7f1331b 100644
--- a/gui/ThemeEngine.h
+++ b/gui/ThemeEngine.h
@@ -36,7 +36,7 @@
#include "graphics/pixelformat.h"
-#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.9.20"
+#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.9.21"
class OSystem;
diff --git a/gui/browser.cpp b/gui/browser.cpp
index a5d75b7294c..7d2612c9050 100644
--- a/gui/browser.cpp
+++ b/gui/browser.cpp
@@ -20,6 +20,7 @@
*/
#include "gui/browser.h"
+#include "gui/helpdialog.h"
#include "gui/gui-manager.h"
#include "gui/widgets/edittext.h"
#include "gui/widgets/list.h"
@@ -39,7 +40,8 @@ enum {
kChooseCmd = 'Chos',
kGoUpCmd = 'GoUp',
kHiddenCmd = 'Hidd',
- kPathEditedCmd = 'Path'
+ kPathEditedCmd = 'Path',
+ kHelpCmd = 'Help',
};
/* We want to use this as a general directory selector at some point... possible uses
@@ -59,6 +61,7 @@ BrowserDialog::BrowserDialog(const Common::U32String &title, bool dirBrowser)
// Headline - TODO: should be customizable during creation time
new StaticTextWidget(this, "Browser.Headline", title);
+ new ButtonWidget(this, "Browser.Help", _("Help"), Common::U32String(), kHelpCmd);
// Current path - TODO: handle long paths ?
_currentPath = new EditTextWidget(this, "Browser.Path", Common::U32String(), Common::U32String(), 0, kPathEditedCmd);
@@ -122,6 +125,11 @@ void BrowserDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
_node = Common::FSNode(Common::Path(Common::convertFromU32String(_currentPath->getEditString()), Common::Path::kNativeSeparator));
updateListing();
break;
+ case kHelpCmd: {
+ GUI::HelpDialog dlg;
+ dlg.runModal();
+ }
+ break;
//Search by text input
case kChooseCmd:
if (_isDirBrowser) {
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 53191d434d4..1944108c5f7 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -269,6 +269,11 @@ void LauncherDialog::build() {
// I18N: Button About ScummVM program. b is the shortcut, Ctrl+b, put it in parens for non-latin (~b~)
new ButtonWidget(this, _title + ".AboutButton", _("A~b~out"), _("About ScummVM"), kAboutCmd);
+
+ _mainHelpButton = nullptr;
+ if (g_gui.xmlEval()->getVar("Globals.Launcher.ShowMainHelp") == 1)
+ _mainHelpButton = new ButtonWidget(this, _title + ".MainHelpButton", _("Help"), _("General help"), kHelpCmd);
+
// I18N: Button caption. O is the shortcut, Ctrl+O, put it in parens for non-latin (~O~)
new ButtonWidget(this, _title + ".OptionsButton", _("Global ~O~ptions..."), _("Change global ScummVM options"), kOptionsCmd, 0, _c("Global ~O~pts...", "lowres"));
@@ -942,6 +947,18 @@ void LauncherDialog::reflowLayout() {
g_gui.addToTrash(_searchClearButton, this);
_searchClearButton = addClearButton(this, _title + ".SearchClearButton", kSearchClearCmd);
#endif
+
+ if (g_gui.xmlEval()->getVar("Globals.Launcher.ShowMainHelp") == 1) {
+ if (!_mainHelpButton)
+ _mainHelpButton = new ButtonWidget(this, _title + ".MainHelpButton", _("Help"), _("General help"), kHelpCmd);
+ } else {
+ if (_mainHelpButton) {
+ removeWidget(_mainHelpButton);
+ g_gui.addToTrash(_mainHelpButton, this);
+ _mainHelpButton = nullptr;
+ }
+ }
+
#ifndef DISABLE_LAUNCHERDISPLAY_GRID
addLayoutChooserButtons();
#endif
@@ -1436,7 +1453,7 @@ void LauncherSimple::updateSelectionAfterRemoval() {
if (_list) {
_list->clearSelection();
const Common::Array<bool> &selectedItems = getSelectedItems();
-
+
// Get the real data index of the last selected item and adjust with bounds
int lastSelectedDataItem = MIN((int)selectedItems.size() - 1, _list->getSelected());
// Convert real data index to visual index for marking
@@ -1790,7 +1807,7 @@ void LauncherGrid::build() {
void LauncherGrid::updateSelectionAfterRemoval() {
if (_grid) {
_grid->clearSelection();
-
+
// Select at the same index as before, or the last item if out of bounds
_grid->_lastSelectedEntryID = MIN((int)getSelectedItems().size() - 1, _grid->_lastSelectedEntryID);
_grid->markSelectedItem(_grid->_lastSelectedEntryID, true);
@@ -1803,7 +1820,7 @@ void LauncherDialog::confirmRemoveGames(const Common::Array<bool> &selectedItems
// Validate that at least one item is selected
if (!hasAnySelection(selectedItems))
return;
-
+
// Count selected items
int selectedCount = 0;
for (int i = 0; i < (int)selectedItems.size(); ++i) {
diff --git a/gui/launcher.h b/gui/launcher.h
index 3ab87bc7556..5d1d8dc54d3 100644
--- a/gui/launcher.h
+++ b/gui/launcher.h
@@ -136,6 +136,7 @@ protected:
Widget *_startButton;
ButtonWidget *_loadButton;
Widget *_editButton;
+ Widget *_mainHelpButton;
Common::StringArray _domains;
BrowserDialog *_browser;
SaveLoadChooser *_loadDialog;
diff --git a/gui/themes/common/highres_layout.stx b/gui/themes/common/highres_layout.stx
index f923f881a16..0ea7c52cce4 100644
--- a/gui/themes/common/highres_layout.stx
+++ b/gui/themes/common/highres_layout.stx
@@ -48,7 +48,8 @@
<def var = 'ShowChooserPics' value = '1'/>
<def var = 'ShowChooserPageDisplay' value = '1'/>
- <def var = 'Launcher.HelpButton.Width' value = '24' scalable = 'yes'/> <!-- Button.Width * 3 -->
+ <def var = 'Launcher.HelpButton.Width' value = '24' scalable = 'yes'/> <!-- Button.Width * 3 -->
+ <def var = 'Launcher.ShowMainHelp' value = '1'/>
<def var = 'SaveLoadChooser.ExtInfo.Visible' value = '1'/>
<def var = 'RecorderDialog.ExtInfo.Visible' value = '1'/>
@@ -232,6 +233,9 @@
<widget name = 'OptionsButton'
type = 'Button'
/>
+ <widget name = 'MainHelpButton'
+ type = 'Button'
+ />
<widget name = 'AboutButton'
type = 'Button'
/>
@@ -484,9 +488,14 @@
<dialog name = 'Browser' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
- <widget name = 'Headline'
- height = 'Globals.Line.Height'
- />
+ <layout type = 'horizontal' padding = '0, 0, 0, 0'>
+ <widget name = 'Headline'
+ height = 'Globals.Line.Height'
+ />
+ <widget name = 'Help'
+ type = 'Button'
+ />
+ </layout>
<widget name = 'Path'
height = 'Globals.Line.Height'
/>
@@ -1885,6 +1894,10 @@
width = '150'
height = 'Globals.Button.Height'
/>
+ <widget name = 'MainHelp'
+ width = '150'
+ height = 'Globals.Button.Height'
+ />
<widget name = 'About'
width = '150'
height = 'Globals.Button.Height'
diff --git a/gui/themes/common/lowres_layout.stx b/gui/themes/common/lowres_layout.stx
index 7266fc2f399..47033187b31 100644
--- a/gui/themes/common/lowres_layout.stx
+++ b/gui/themes/common/lowres_layout.stx
@@ -39,7 +39,8 @@
<def var = 'ShowChooserPics' value = '0'/>
<def var = 'ShowChooserPageDisplay' value = '0'/>
- <def var = 'Launcher.HelpButton.Width' value = '16' scalable = 'yes'/> <!-- Button.Width -->
+ <def var = 'Launcher.HelpButton.Width' value = '16' scalable = 'yes'/> <!-- Button.Width -->
+ <def var = 'Launcher.ShowMainHelp' value = '0'/>
<def var = 'SaveLoadChooser.ExtInfo.Visible' value = '0'/>
<def var = 'RecorderDialog.ExtInfo.Visible' value = '0'/>
@@ -341,9 +342,14 @@
<dialog name = 'Browser' overlays = 'screen' inset = '8' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 0, 4'>
- <widget name = 'Headline'
- height = 'Globals.Line.Height'
- />
+ <layout type = 'horizontal' padding = '0, 0, 0, 0'>
+ <widget name = 'Headline'
+ height = 'Globals.Line.Height'
+ />
+ <widget name = 'Help'
+ type = 'Button'
+ />
+ </layout>
<widget name = 'Path'
height = 'Globals.Line.Height'
/>
@@ -1714,10 +1720,16 @@
width = '120'
height = 'Globals.Button.Height'
/>
- <widget name = 'Help'
- width = '120'
- height = 'Globals.Button.Height'
- />
+ <layout type = 'horizontal' padding = '4, 4, 4, 4' align = 'center' spacing='2'>
+ <widget name = 'Help'
+ width = '60'
+ height = 'Globals.Button.Height'
+ />
+ <widget name = 'MainHelp'
+ width = '60'
+ height = 'Globals.Button.Height'
+ />
+ </layout>
<widget name = 'About'
width = '120'
height = 'Globals.Button.Height'
diff --git a/gui/themes/default.inc b/gui/themes/default.inc
index 03f73168e50..7f1f56fb4fc 100644
--- a/gui/themes/default.inc
+++ b/gui/themes/default.inc
@@ -1454,6 +1454,7 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"<def var='ShowChooserPics' value='0'/>"
"<def var='ShowChooserPageDisplay' value='1'/>"
"<def var='Launcher.HelpButton.Width' value='24' scalable='yes'/> "
+"<def var='Launcher.ShowMainHelp' value='0'/>"
"<def var='SaveLoadChooser.ExtInfo.Visible' value='1'/>"
"<def var='RecorderDialog.ExtInfo.Visible' value='1'/>"
"<def var='ImageAlbum.ImageInset' value='16' scalable='yes' />"
@@ -1639,9 +1640,14 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"</dialog>"
"<dialog name='Browser' overlays='Dialog.Launcher.GameList' shading='dim'>"
"<layout type='vertical' padding='8,8,8,8'>"
+"<layout type='horizontal' padding='0,0,0,0'>"
"<widget name='Headline' "
"height='Globals.Line.Height' "
"/>"
+"<widget name='Help' "
+"type='Button' "
+"/>"
+"</layout>"
"<widget name='Path' "
"height='Globals.Line.Height' "
"/>"
@@ -2862,6 +2868,10 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"width='150' "
"height='Globals.Button.Height' "
"/>"
+"<widget name='MainHelp' "
+"width='150' "
+"height='Globals.Button.Height' "
+"/>"
"<widget name='About' "
"width='150' "
"height='Globals.Button.Height' "
@@ -3842,6 +3852,7 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"<def var='ShowChooserPics' value='0'/>"
"<def var='ShowChooserPageDisplay' value='0'/>"
"<def var='Launcher.HelpButton.Width' value='16' scalable='yes'/> "
+"<def var='Launcher.ShowMainHelp' value='0'/>"
"<def var='SaveLoadChooser.ExtInfo.Visible' value='0'/>"
"<def var='RecorderDialog.ExtInfo.Visible' value='0'/>"
"<def var='ImageAlbum.ImageInset' value='16' scalable='yes' />"
@@ -4035,9 +4046,14 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"</dialog>"
"<dialog name='Browser' overlays='screen' inset='8' shading='dim'>"
"<layout type='vertical' padding='8,8,0,4'>"
+"<layout type='horizontal' padding='0,0,0,0'>"
"<widget name='Headline' "
"height='Globals.Line.Height' "
"/>"
+"<widget name='Help' "
+"type='Button' "
+"/>"
+"</layout>"
"<widget name='Path' "
"height='Globals.Line.Height' "
"/>"
@@ -5264,10 +5280,16 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"width='120' "
"height='12' "
"/>"
+"<layout type='horizontal' padding='4,4,4,4' align='center' spacing='2'>"
"<widget name='Help' "
-"width='120' "
+"width='60' "
"height='12' "
"/>"
+"<widget name='MainHelp' "
+"width='60' "
+"height='12' "
+"/>"
+"</layout>"
"<widget name='About' "
"width='120' "
"height='12' "
diff --git a/gui/themes/residualvm.zip b/gui/themes/residualvm.zip
index 02fdac8bce3..c431ef9f71a 100644
Binary files a/gui/themes/residualvm.zip and b/gui/themes/residualvm.zip differ
diff --git a/gui/themes/residualvm/THEMERC b/gui/themes/residualvm/THEMERC
index ebe7ab10a1d..4441cf2078e 100644
--- a/gui/themes/residualvm/THEMERC
+++ b/gui/themes/residualvm/THEMERC
@@ -1,3 +1,3 @@
-[SCUMMVM_STX0.9.20:ResidualVM Modern Theme Remastered:No Author]
+[SCUMMVM_STX0.9.21:ResidualVM Modern Theme Remastered:No Author]
%using ../common
%using ../common-svg
diff --git a/gui/themes/scummclassic.zip b/gui/themes/scummclassic.zip
index 9172e9e3325..79b355fe4a4 100644
Binary files a/gui/themes/scummclassic.zip and b/gui/themes/scummclassic.zip differ
diff --git a/gui/themes/scummclassic/THEMERC b/gui/themes/scummclassic/THEMERC
index dd156a77597..5fb66fa9a3b 100644
--- a/gui/themes/scummclassic/THEMERC
+++ b/gui/themes/scummclassic/THEMERC
@@ -1 +1 @@
-[SCUMMVM_STX0.9.20:ScummVM Classic Theme:No Author]
+[SCUMMVM_STX0.9.21:ScummVM Classic Theme:No Author]
diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx
index 6293819b02d..b1f644b2796 100644
--- a/gui/themes/scummclassic/classic_layout.stx
+++ b/gui/themes/scummclassic/classic_layout.stx
@@ -39,7 +39,8 @@
<def var = 'ShowChooserPics' value = '0'/>
<def var = 'ShowChooserPageDisplay' value = '1'/>
- <def var = 'Launcher.HelpButton.Width' value = '24' scalable = 'yes'/> <!-- Button.Width -->
+ <def var = 'Launcher.HelpButton.Width' value = '24' scalable = 'yes'/> <!-- Button.Width -->
+ <def var = 'Launcher.ShowMainHelp' value = '0'/>
<def var = 'SaveLoadChooser.ExtInfo.Visible' value = '1'/>
<def var = 'RecorderDialog.ExtInfo.Visible' value = '1'/>
@@ -240,9 +241,14 @@
<dialog name = 'Browser' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
- <widget name = 'Headline'
- height = 'Globals.Line.Height'
- />
+ <layout type = 'horizontal' padding = '0, 0, 0, 0'>
+ <widget name = 'Headline'
+ height = 'Globals.Line.Height'
+ />
+ <widget name = 'Help'
+ type = 'Button'
+ />
+ </layout>
<widget name = 'Path'
height = 'Globals.Line.Height'
/>
@@ -1530,6 +1536,10 @@
width = '150'
height = 'Globals.Button.Height'
/>
+ <widget name = 'MainHelp'
+ width = '150'
+ height = 'Globals.Button.Height'
+ />
<widget name = 'About'
width = '150'
height = 'Globals.Button.Height'
diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx
index ce6066dfb82..3defef5bed8 100644
--- a/gui/themes/scummclassic/classic_layout_lowres.stx
+++ b/gui/themes/scummclassic/classic_layout_lowres.stx
@@ -39,7 +39,8 @@
<def var = 'ShowChooserPics' value = '0'/>
<def var = 'ShowChooserPageDisplay' value = '0'/>
- <def var = 'Launcher.HelpButton.Width' value = '16' scalable = 'yes'/> <!-- Button.Width -->
+ <def var = 'Launcher.HelpButton.Width' value = '16' scalable = 'yes'/> <!-- Button.Width -->
+ <def var = 'Launcher.ShowMainHelp' value = '0'/>
<def var = 'SaveLoadChooser.ExtInfo.Visible' value = '0'/>
<def var = 'RecorderDialog.ExtInfo.Visible' value = '0'/>
@@ -248,9 +249,14 @@
<dialog name = 'Browser' overlays = 'screen' inset = '8' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 0, 4'>
- <widget name = 'Headline'
- height = 'Globals.Line.Height'
- />
+ <layout type = 'horizontal' padding = '0, 0, 0, 0'>
+ <widget name = 'Headline'
+ height = 'Globals.Line.Height'
+ />
+ <widget name = 'Help'
+ type = 'Button'
+ />
+ </layout>
<widget name = 'Path'
height = 'Globals.Line.Height'
/>
@@ -1543,10 +1549,16 @@
width = '120'
height = '12'
/>
+ <layout type = 'horizontal' padding = '4, 4, 4, 4' align = 'center' spacing='2'>
<widget name = 'Help'
- width = '120'
+ width = '60'
height = '12'
/>
+ <widget name = 'MainHelp'
+ width = '60'
+ height = '12'
+ />
+ </layout>
<widget name = 'About'
width = '120'
height = '12'
diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip
index 7a2626edd16..27208d1a6d3 100644
Binary files a/gui/themes/scummmodern.zip and b/gui/themes/scummmodern.zip differ
diff --git a/gui/themes/scummmodern/THEMERC b/gui/themes/scummmodern/THEMERC
index 3d2770ba976..c82ed30005a 100644
--- a/gui/themes/scummmodern/THEMERC
+++ b/gui/themes/scummmodern/THEMERC
@@ -1,2 +1,2 @@
-[SCUMMVM_STX0.9.20:ScummVM Modern Theme:No Author]
+[SCUMMVM_STX0.9.21:ScummVM Modern Theme:No Author]
%using ../common
diff --git a/gui/themes/scummremastered.zip b/gui/themes/scummremastered.zip
index 4c3664d9074..3106f20d937 100644
Binary files a/gui/themes/scummremastered.zip and b/gui/themes/scummremastered.zip differ
diff --git a/gui/themes/scummremastered/THEMERC b/gui/themes/scummremastered/THEMERC
index 3908931d861..fee52be42ee 100644
--- a/gui/themes/scummremastered/THEMERC
+++ b/gui/themes/scummremastered/THEMERC
@@ -1,3 +1,3 @@
-[SCUMMVM_STX0.9.20:ScummVM Modern Theme Remastered:No Author]
+[SCUMMVM_STX0.9.21:ScummVM Modern Theme Remastered:No Author]
%using ../common
%using ../common-svg
Commit: e7219aa57f4b1a9a8078f1a2c5339723181a4f6e
https://github.com/scummvm/scummvm/commit/e7219aa57f4b1a9a8078f1a2c5339723181a4f6e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-02-08T15:56:42+01:00
Commit Message:
GRAPHICS: Do not crash in case help image packs are missing
Changed paths:
graphics/image-archive.cpp
diff --git a/graphics/image-archive.cpp b/graphics/image-archive.cpp
index bc195d12a72..2246ecce366 100644
--- a/graphics/image-archive.cpp
+++ b/graphics/image-archive.cpp
@@ -39,7 +39,8 @@ ImageArchive::~ImageArchive() {
void ImageArchive::reset() {
#ifdef USE_PNG
for (auto &i : _imageCache) {
- i._value->free();
+ if (i._value)
+ i._value->free();
delete i._value;
}
_imageCache.clear();
@@ -115,4 +116,3 @@ const Surface *ImageArchive::getImageSurface(const Common::Path &fname, int w, i
}
} // End of namespace Graphics
-
More information about the Scummvm-git-logs
mailing list