[Scummvm-git-logs] scummvm master -> b7189d3fcb1efe9c859d5c4a240d5cbefeb058a7
neuromancer
noreply at scummvm.org
Wed Nov 19 06:53: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:
da1e3c3e4b PRIVATE: Show cursor for safe digits
b7189d3fcb PRIVATE: Fix memory leak in safe digits
Commit: da1e3c3e4b047576ff587b80bbd0e2cd4e6422ae
https://github.com/scummvm/scummvm/commit/da1e3c3e4b047576ff587b80bbd0e2cd4e6422ae
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2025-11-19T07:53:08+01:00
Commit Message:
PRIVATE: Show cursor for safe digits
Changed paths:
engines/private/private.cpp
engines/private/private.h
diff --git a/engines/private/private.cpp b/engines/private/private.cpp
index 95a7ef53760..1196f2ff21d 100644
--- a/engines/private/private.cpp
+++ b/engines/private/private.cpp
@@ -582,6 +582,9 @@ void PrivateEngine::updateCursor(Common::Point mousePos) {
if (cursorPauseMovie(mousePos)) {
return;
}
+ if (cursorSafeDigit(mousePos)) {
+ return;
+ }
if (cursorMask(mousePos)) {
return;
}
@@ -620,6 +623,29 @@ bool PrivateEngine::cursorExit(Common::Point mousePos) {
return false;
}
+bool PrivateEngine::cursorSafeDigit(Common::Point mousePos) {
+ if (_safeDigitArea[0].surf == nullptr) {
+ return false;
+ }
+
+ mousePos = mousePos - _origin;
+ if (mousePos.x < 0 || mousePos.y < 0) {
+ return false;
+ }
+
+ for (uint i = 0; i < 3; i++) {
+ MaskInfo &m = _safeDigitArea[i];
+ if (m.surf != nullptr) {
+ if (_safeDigitRect[i].contains(mousePos) && !m.cursor.empty()) {
+ changeCursor(m.cursor);
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
bool PrivateEngine::inMask(Graphics::Surface *surf, Common::Point mousePos) {
if (surf == nullptr)
return false;
diff --git a/engines/private/private.h b/engines/private/private.h
index c2f9b99bf46..ab44e929479 100644
--- a/engines/private/private.h
+++ b/engines/private/private.h
@@ -219,6 +219,7 @@ public:
void updateCursor(Common::Point);
bool cursorPauseMovie(Common::Point);
bool cursorExit(Common::Point);
+ bool cursorSafeDigit(Common::Point);
bool cursorMask(Common::Point);
bool hasFeature(EngineFeature f) const override;
Commit: b7189d3fcb1efe9c859d5c4a240d5cbefeb058a7
https://github.com/scummvm/scummvm/commit/b7189d3fcb1efe9c859d5c4a240d5cbefeb058a7
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2025-11-19T07:53:08+01:00
Commit Message:
PRIVATE: Fix memory leak in safe digits
Changed paths:
engines/private/private.cpp
diff --git a/engines/private/private.cpp b/engines/private/private.cpp
index 1196f2ff21d..3a49c0aabb0 100644
--- a/engines/private/private.cpp
+++ b/engines/private/private.cpp
@@ -160,6 +160,13 @@ PrivateEngine::~PrivateEngine() {
}
}
+ for (uint i = 0; i < ARRAYSIZE(_safeDigitArea); i++) {
+ if (_safeDigitArea[i].surf != nullptr) {
+ _safeDigitArea[i].surf->free();
+ delete _safeDigitArea[i].surf;
+ }
+ }
+
for (RectList::iterator it = _rects.begin(); it != _rects.end(); ++it) {
Common::Rect *r = (*it);
delete r;
More information about the Scummvm-git-logs
mailing list