[Scummvm-git-logs] scummvm master -> 3404844fe68b1cb1e3e5c38cd255dbfb9bd06d94
AndywinXp
noreply at scummvm.org
Sat Jun 28 07:59:15 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:
813d4266d3 LASTEXPRESS: DEBUGGER: Fix exit when quitting from the menu
3404844fe6 LASTEXPRESS: Fix more Valgrind issues
Commit: 813d4266d3490b5eb715179f8877bdfd88fad33b
https://github.com/scummvm/scummvm/commit/813d4266d3490b5eb715179f8877bdfd88fad33b
Author: AndywinXp (andywinxp at gmail.com)
Date: 2025-06-28T09:58:47+02:00
Commit Message:
LASTEXPRESS: DEBUGGER: Fix exit when quitting from the menu
Changed paths:
engines/lastexpress/debug.cpp
engines/lastexpress/lastexpress.cpp
diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index 7d1ad74cef8..5df6a8d0414 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -68,7 +68,7 @@ void onImGuiInit() {
}
void onImGuiRender() {
- if (_state->_engine->shouldQuit())
+ if (_state->_engine->shouldQuit() || _state->_engine->_exitFromMenuButton)
return;
if (!debugChannelSet(-1, kDebugConsole)) {
diff --git a/engines/lastexpress/lastexpress.cpp b/engines/lastexpress/lastexpress.cpp
index 621929ddac7..7851342888f 100644
--- a/engines/lastexpress/lastexpress.cpp
+++ b/engines/lastexpress/lastexpress.cpp
@@ -558,6 +558,9 @@ bool LastExpressEngine::handleEvents() {
}
}
+ if (_exitFromMenuButton)
+ _exitFromMenuButton = false;
+
return true;
}
Commit: 3404844fe68b1cb1e3e5c38cd255dbfb9bd06d94
https://github.com/scummvm/scummvm/commit/3404844fe68b1cb1e3e5c38cd255dbfb9bd06d94
Author: AndywinXp (andywinxp at gmail.com)
Date: 2025-06-28T09:59:10+02:00
Commit Message:
LASTEXPRESS: Fix more Valgrind issues
Changed paths:
engines/lastexpress/game/action.cpp
engines/lastexpress/game/nis.cpp
engines/lastexpress/helpers.h
engines/lastexpress/lastexpress.h
engines/lastexpress/memory.cpp
engines/lastexpress/sound/subtitle.cpp
diff --git a/engines/lastexpress/game/action.cpp b/engines/lastexpress/game/action.cpp
index baa837dcc0d..cd17ebee9df 100644
--- a/engines/lastexpress/game/action.cpp
+++ b/engines/lastexpress/game/action.cpp
@@ -917,7 +917,7 @@ void LogicManager::doAction(Link *link) {
_items[kItemCorpse].floating = 0;
_activeItem = kItemCorpse;
_engine->getGraphicsManager()->drawItem(_items[kItemCorpse].mnum, 44, 0);
- _engine->getGraphicsManager()->burstBox(44u, 0, 32, 32);
+ _engine->getGraphicsManager()->burstBox(44, 0, 32, 32);
}
} else {
_items[link->param1].haveIt = 1;
diff --git a/engines/lastexpress/game/nis.cpp b/engines/lastexpress/game/nis.cpp
index 313d17876bb..10a52461da6 100644
--- a/engines/lastexpress/game/nis.cpp
+++ b/engines/lastexpress/game/nis.cpp
@@ -39,7 +39,7 @@ NISManager::~NISManager() {
SAFE_DELETE(_background2);
SAFE_DELETE(_waneSprite);
SAFE_DELETE(_waxSprite);
- SAFE_DELETE(_events);
+ SAFE_DELETE_ARR(_events);
}
void NISManager::clearBounds() {
diff --git a/engines/lastexpress/helpers.h b/engines/lastexpress/helpers.h
index 88bf2dd6f51..bca19a4a6f3 100644
--- a/engines/lastexpress/helpers.h
+++ b/engines/lastexpress/helpers.h
@@ -30,8 +30,9 @@
#define getCharacterCurrentParams(c) (getCharacter(c).callParams[getCharacter(c).currentCall].parameters)
#define getCharacterParams(c, n) (getCharacter(c).callParams[n].parameters)
-// Used to delete character sequences
+// Helpers
#define SAFE_DELETE(_p) do { if (_p) delete (_p); (_p) = nullptr; } while (false)
+#define SAFE_DELETE_ARR(_p) do { if (_p) delete[] (_p); (_p) = nullptr; } while (false)
#define SAFE_FREE(_p) do { if (_p) free (_p); (_p) = nullptr; } while (false)
#endif // LASTEXPRESS_HELPERS_H
diff --git a/engines/lastexpress/lastexpress.h b/engines/lastexpress/lastexpress.h
index 6e4291bbd0d..b2ca4f63a6a 100644
--- a/engines/lastexpress/lastexpress.h
+++ b/engines/lastexpress/lastexpress.h
@@ -478,8 +478,10 @@ typedef struct FontData {
memset(charMap, 0, sizeof(charMap));
memset(charKerning, 0, sizeof(charKerning));
- free(fontData);
- fontData = nullptr;
+ if (fontData) {
+ free(fontData);
+ fontData = nullptr;
+ }
}
} FontData;
diff --git a/engines/lastexpress/memory.cpp b/engines/lastexpress/memory.cpp
index d989c328631..1d17d7b566d 100644
--- a/engines/lastexpress/memory.cpp
+++ b/engines/lastexpress/memory.cpp
@@ -306,6 +306,8 @@ Seq *MemoryManager::copySeq(Seq *sequenceToCopy) {
newSeqDataStream->readUint32LE(); // Empty "next" sprite pointer
}
+ delete newSeqDataStream;
+
return newSeq;
}
diff --git a/engines/lastexpress/sound/subtitle.cpp b/engines/lastexpress/sound/subtitle.cpp
index 979ff76bcc9..200040b0abe 100644
--- a/engines/lastexpress/sound/subtitle.cpp
+++ b/engines/lastexpress/sound/subtitle.cpp
@@ -189,6 +189,11 @@ void SubtitleManager::initSubtitles() {
HPF *archive = _engine->getArchiveManager()->openHPF("FONT.DAT");
if (archive) {
+ if (_font->fontData) {
+ free(_font->fontData);
+ _font->fontData = nullptr;
+ }
+
byte *fontData = (byte *)malloc(PAGE_SIZE * archive->size);
if (fontData) {
More information about the Scummvm-git-logs
mailing list