[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