[Scummvm-git-logs] scummvm branch-3-0 -> 74738acddcda69ab7cef7a7c6b87599d71800eea

sluicebox noreply at scummvm.org
Wed Dec 10 23:39:59 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
74738acddc PRIVATE: Fix diary crash during intro movie


Commit: 74738acddcda69ab7cef7a7c6b87599d71800eea
    https://github.com/scummvm/scummvm/commit/74738acddcda69ab7cef7a7c6b87599d71800eea
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2025-12-10T15:39:53-08:00

Commit Message:
PRIVATE: Fix diary crash during intro movie

- Fixes crash when viewing diary while there are no memories
- Fixes infinite empty pages when there are no memories

Changed paths:
    engines/private/funcs.cpp
    engines/private/private.cpp


diff --git a/engines/private/funcs.cpp b/engines/private/funcs.cpp
index 2c977d1d60e..0139cf9375c 100644
--- a/engines/private/funcs.cpp
+++ b/engines/private/funcs.cpp
@@ -131,7 +131,7 @@ static void fDiaryPageTurn(ArgArray args) {
 	if (args[0].u.val == 1) {
 		e.cursor = "kTurnRight";
 
-		if ((uint)g_private->_currentDiaryPage == g_private->_diaryPages.size() - 1) {
+		if (g_private->_currentDiaryPage >= (int)g_private->_diaryPages.size() - 1) {
 			e.nextSetting = g_private->getDiaryLastPageSetting();
 		}
 
@@ -139,7 +139,7 @@ static void fDiaryPageTurn(ArgArray args) {
 	} else {
 		e.cursor = "kTurnLeft";
 
-		if (g_private->_currentDiaryPage == 0) {
+		if (g_private->_currentDiaryPage <= 0) {
 			e.nextSetting = g_private->getDiaryTOCSetting();
 		}
 
diff --git a/engines/private/private.cpp b/engines/private/private.cpp
index 6f985201e28..32a4a6008b7 100644
--- a/engines/private/private.cpp
+++ b/engines/private/private.cpp
@@ -2990,7 +2990,7 @@ void PrivateEngine::loadInventory(uint32 x, const Common::Rect &r1, const Common
 }
 
 void PrivateEngine::loadMemories(const Common::Rect &rect, uint rightPageOffset, uint verticalOffset) {
-	if (_currentDiaryPage < 0)
+	if (_currentDiaryPage < 0 ||_currentDiaryPage >= (int)_diaryPages.size())
 		return;
 
 	Common::String s = Common::String::format("inface/diary/loctabs/drytab%d.bmp", _diaryPages[_currentDiaryPage].locationID);




More information about the Scummvm-git-logs mailing list