[Scummvm-git-logs] scummvm master -> 545569a73c2638a18c83a9d7c59b13b737404e34
spleen1981
noreply at scummvm.org
Mon May 4 23:29:22 UTC 2026
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
b5f964bb28 LIBRETRO: add missing retro_log_cb guards
180353ed6a LIBRETRO: add _domain to confman.get
545569a73c GRAPHICS: MACGUI: early return on font generation failed
Commit: b5f964bb28f4a61703b68245d6146cc220efea7b
https://github.com/scummvm/scummvm/commit/b5f964bb28f4a61703b68245d6146cc220efea7b
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2026-05-05T01:28:19+02:00
Commit Message:
LIBRETRO: add missing retro_log_cb guards
Changed paths:
backends/platform/libretro/src/libretro-options-widget.cpp
backends/platform/libretro/src/libretro-os-utils.cpp
diff --git a/backends/platform/libretro/src/libretro-options-widget.cpp b/backends/platform/libretro/src/libretro-options-widget.cpp
index bb9880c406b..d12a815ecb8 100644
--- a/backends/platform/libretro/src/libretro-options-widget.cpp
+++ b/backends/platform/libretro/src/libretro-options-widget.cpp
@@ -118,13 +118,15 @@ bool LibretroOptionsWidget::cleanFolder(Common::String &path) {
Common::FSNode(Common::Path(path)).listChildren(listHooks, "*." CORE_EXTENSIONS);
for (Common::ArchiveMemberPtr hook : listHooks) {
Common::FSNode *fshook = dynamic_cast<Common::FSNode *>(hook.get());
- if (fshook->isDirectory())
+ if (!fshook || fshook->isDirectory())
continue;
if (remove(fshook->getPath().toString().c_str()) == 0)
- retro_log_cb(RETRO_LOG_INFO, "Hook file deleted in '%s'.\n", fshook->getPath().toString().c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_INFO, "Hook file deleted in '%s'.\n", fshook->getPath().toString().c_str());
else {
res = false;
- retro_log_cb(RETRO_LOG_WARN, "Failed to delete hook file in '%s'.\n", fshook->getPath().toString().c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_WARN, "Failed to delete hook file in '%s'.\n", fshook->getPath().toString().c_str());
}
}
return res;
@@ -149,10 +151,12 @@ bool LibretroOptionsWidget::generatePlaylist(Common::String playlistPath) {
RFILE *playlistFile = filestream_open(Common::String(playlistPath + "/" + CORE_NAME + ".lpl").c_str(), RETRO_VFS_FILE_ACCESS_WRITE, RETRO_VFS_FILE_ACCESS_HINT_NONE);
if (!playlistFile) {
_playlistStatus->setLabel(_("Failed, can't access playlist file"));
- retro_log_cb(RETRO_LOG_ERROR, "Failed to access playlst file at '%s'.\n", Common::String(playlistPath + "/" + CORE_NAME + ".lpl").c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_ERROR, "Failed to access playlst file at '%s'.\n", Common::String(playlistPath + "/" + CORE_NAME + ".lpl").c_str());
return false;
} else
- retro_log_cb(RETRO_LOG_INFO, "Playlist file created in '%s'.\n", Common::String(playlistPath + CORE_NAME + ".lpl").c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_INFO, "Playlist file created in '%s'.\n", Common::String(playlistPath + CORE_NAME + ".lpl").c_str());
/* Create common hook folder */
if (ConfMan.getInt("libretro_hooks_location", _domain) != kHooksLocationGame) {
@@ -222,11 +226,13 @@ bool LibretroOptionsWidget::generatePlaylist(Common::String playlistPath) {
/* Create hook file */
RFILE *hookFile = filestream_open(hookFilePath.c_str(), RETRO_VFS_FILE_ACCESS_WRITE, RETRO_VFS_FILE_ACCESS_HINT_NONE);
if (!hookFile) {
- retro_log_cb(RETRO_LOG_ERROR, "Failed to access/create hook file at '%s'.\n", hookFilePath.c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_ERROR, "Failed to access/create hook file at '%s'.\n", hookFilePath.c_str());
success = false;
break;
} else
- retro_log_cb(RETRO_LOG_INFO, "Hook file created in '%s'.\n", hookFilePath.c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_INFO, "Hook file created in '%s'.\n", hookFilePath.c_str());
filestream_printf(hookFile, "%s", iter->_key.c_str());
diff --git a/backends/platform/libretro/src/libretro-os-utils.cpp b/backends/platform/libretro/src/libretro-os-utils.cpp
index ae86dde4f07..4ff64a9d2c7 100644
--- a/backends/platform/libretro/src/libretro-os-utils.cpp
+++ b/backends/platform/libretro/src/libretro-os-utils.cpp
@@ -207,11 +207,13 @@ void OSystem_libretro::applyBackendSettings() {
//Register default paths
if (! s_homeDir.empty()) {
ConfMan.registerDefault("browser_lastpath", s_homeDir);
- retro_log_cb(RETRO_LOG_DEBUG, "Default browser last path set to: %s\n", s_homeDir.c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_DEBUG, "Default browser last path set to: %s\n", s_homeDir.c_str());
}
if (! s_saveDir.empty()) {
ConfMan.registerDefault("savepath", s_saveDir);
- retro_log_cb(RETRO_LOG_DEBUG, "Default save path set to: %s\n", s_saveDir.c_str());
+ if (retro_log_cb)
+ retro_log_cb(RETRO_LOG_DEBUG, "Default save path set to: %s\n", s_saveDir.c_str());
}
//Check current path settings
Commit: 180353ed6adc7d6948d0309f04436c40f3d061bd
https://github.com/scummvm/scummvm/commit/180353ed6adc7d6948d0309f04436c40f3d061bd
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2026-05-05T01:28:37+02:00
Commit Message:
LIBRETRO: add _domain to confman.get
Changed paths:
backends/platform/libretro/src/libretro-options-widget.cpp
diff --git a/backends/platform/libretro/src/libretro-options-widget.cpp b/backends/platform/libretro/src/libretro-options-widget.cpp
index d12a815ecb8..d75dbcc52c2 100644
--- a/backends/platform/libretro/src/libretro-options-widget.cpp
+++ b/backends/platform/libretro/src/libretro-options-widget.cpp
@@ -280,7 +280,7 @@ void LibretroOptionsWidget::handleCommand(GUI::CommandSender *sender, uint32 cmd
case kPlaylistGenerateCmd: {
save();
_playlistStatus->setLabel(Common::String("-"));
- generatePlaylist(ConfMan.get("libretro_playlist_path"));
+ generatePlaylist(ConfMan.get("libretro_playlist_path", _domain));
break;
}
default:
@@ -290,7 +290,7 @@ void LibretroOptionsWidget::handleCommand(GUI::CommandSender *sender, uint32 cmd
}
void LibretroOptionsWidget::load() {
- _playlistPath->setLabel(ConfMan.get("libretro_playlist_path"));
+ _playlistPath->setLabel(ConfMan.get("libretro_playlist_path", _domain));
if (ConfMan.getInt("libretro_playlist_version", _domain) == kPlaylistFormat6lines)
_playlistVersion->setSelected(kPlaylistFormat6lines);
Commit: 545569a73c2638a18c83a9d7c59b13b737404e34
https://github.com/scummvm/scummvm/commit/545569a73c2638a18c83a9d7c59b13b737404e34
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2026-05-05T01:28:57+02:00
Commit Message:
GRAPHICS: MACGUI: early return on font generation failed
Abort font generation early on failure to avoid leaving partially initialized MacFont instances and subsequent NULL dereferences.
Changed paths:
graphics/macgui/macfontmanager.cpp
diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index 247cb3d2b54..a4a94fae3e3 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -951,6 +951,7 @@ void MacFontManager::generateTTFFont(MacFont &toFont, Common::SeekableReadStream
if (!font) {
warning("Failed to generate font '%s'", toPrintable(getFontName(toFont)).c_str());
+ return;
}
toFont.setGenerated(true);
@@ -980,6 +981,7 @@ void MacFontManager::generateFONTFont(MacFont &toFont, MacFont &fromFont) {
if (!font) {
warning("Failed to generate font '%s'", toPrintable(getFontName(toFont)).c_str());
+ return;
}
toFont.setGenerated(true);
More information about the Scummvm-git-logs
mailing list