[Scummvm-git-logs] scummvm master -> 4095eff93f1c614b2efa123b6760051a38435ef6

sev- noreply at scummvm.org
Sat Apr 26 13:02:51 UTC 2025


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:
1cc5b7ea24 JANITORIAL: Formatting fixes
4095eff93f GRAPHICS: MACGUI: Fix crash on Unicode font fallback


Commit: 1cc5b7ea24522c924ff37985d36ebd10a19a4de7
    https://github.com/scummvm/scummvm/commit/1cc5b7ea24522c924ff37985d36ebd10a19a4de7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-04-26T15:02:39+02:00

Commit Message:
JANITORIAL: Formatting fixes

Changed paths:
    graphics/macgui/macfontmanager.cpp


diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index 997fb9de297..4b6dc3350dc 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -559,7 +559,7 @@ const Font *MacFontManager::getFont(MacFont *macFont) {
 #ifdef USE_FREETYPE2
 	if (!font && !(_mode & MacGUIConstants::kWMModeForceMacFonts)) {
 
-		if (_uniFontRegistry.contains(macFont->getName())) { 
+		if (_uniFontRegistry.contains(macFont->getName())) {
 			return _uniFontRegistry[macFont->getName()];
 		}
 
@@ -568,15 +568,14 @@ const Font *MacFontManager::getFont(MacFont *macFont) {
 		int newSlant = macFont->getSlant();
 		int familyId = getFamilyId(newId, newSlant);
 
-		if ((_mode & kWMModeUnicode) && 
-			(((!_fontInfo.contains(familyId))) || (_mode & kWMModeForceMacFontsInWin95))) {
+		if ((_mode & kWMModeUnicode) &&
+				(((!_fontInfo.contains(familyId))) || (_mode & kWMModeForceMacFontsInWin95))) {
 			if (macFont->getSize() <= 0) {
 				debugC(1, kDebugLevelMacGUI, "MacFontManager::getFont() - Font size <= 0!");
 			}
 			font = Graphics::loadTTFFontFromArchive("LiberationSans-Regular.ttf", macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
 			_uniFontRegistry.setVal(macFont->getName(), font);
-		}
-		else if (_fontInfo.contains(familyId)) {
+		} else if (_fontInfo.contains(familyId)) {
 			font = Graphics::loadTTFFontFromArchive(_fontInfo[familyId]->name, macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
 			_uniFontRegistry.setVal(macFont->getName(), font);
 		}


Commit: 4095eff93f1c614b2efa123b6760051a38435ef6
    https://github.com/scummvm/scummvm/commit/4095eff93f1c614b2efa123b6760051a38435ef6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-04-26T15:02:39+02:00

Commit Message:
GRAPHICS: MACGUI: Fix crash on Unicode font fallback

It is a regression from the recent Unicode font caching.
Do not store fonts that were not loaded (nullptr). Otherwise,
nullptr will be returned on a subsequent call.

Changed paths:
    graphics/macgui/macfontmanager.cpp


diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index 4b6dc3350dc..187ea3b8cd9 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -574,10 +574,16 @@ const Font *MacFontManager::getFont(MacFont *macFont) {
 				debugC(1, kDebugLevelMacGUI, "MacFontManager::getFont() - Font size <= 0!");
 			}
 			font = Graphics::loadTTFFontFromArchive("LiberationSans-Regular.ttf", macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
-			_uniFontRegistry.setVal(macFont->getName(), font);
+			if (font)
+				_uniFontRegistry.setVal(macFont->getName(), font);
 		} else if (_fontInfo.contains(familyId)) {
 			font = Graphics::loadTTFFontFromArchive(_fontInfo[familyId]->name, macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
-			_uniFontRegistry.setVal(macFont->getName(), font);
+			if (font)
+				_uniFontRegistry.setVal(macFont->getName(), font);
+		} else {
+			font = Graphics::loadTTFFontFromArchive("LiberationSans-Regular.ttf", macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
+			if (font)
+				_uniFontRegistry.setVal(macFont->getName(), font);
 		}
 	}
 #endif




More information about the Scummvm-git-logs mailing list