[Scummvm-git-logs] scummvm master -> 639e3c7a1371510de698c138313d59e9ef411e05

sev- noreply at scummvm.org
Sat Feb 28 23:08:04 UTC 2026


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

Summary:
509c12ba1b COMMON: Cleanup icon after 2 seconds in OSDMessageQueue
179c9706a6 NEWS: Mention MT-32 display
639e3c7a13 DIRECTOR: DT: Fix warning


Commit: 509c12ba1bd437ce5e4987d00cfb950f96e6f61f
    https://github.com/scummvm/scummvm/commit/509c12ba1bd437ce5e4987d00cfb950f96e6f61f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-03-01T00:07:51+01:00

Commit Message:
COMMON: Cleanup icon after 2 seconds in OSDMessageQueue

Changed paths:
    common/osd_message_queue.cpp
    common/osd_message_queue.h


diff --git a/common/osd_message_queue.cpp b/common/osd_message_queue.cpp
index 9e1dc8a5086..6174b847209 100644
--- a/common/osd_message_queue.cpp
+++ b/common/osd_message_queue.cpp
@@ -48,7 +48,7 @@ OSDMessageQueue::OSDQueueEntry::~OSDQueueEntry() {
 	}
 }
 
-OSDMessageQueue::OSDMessageQueue() : _lastUpdate(0) {
+OSDMessageQueue::OSDMessageQueue() : _lastUpdate(0), _iconWasShown(false) {
 }
 
 OSDMessageQueue::~OSDMessageQueue() {
@@ -79,20 +79,30 @@ void OSDMessageQueue::addImage(const Graphics::Surface *surface) {
 
 bool OSDMessageQueue::pollEvent(Common::Event &event) {
 	_mutex.lock();
+
+	uint t = g_system->getMillis(true);
+
 	if (!_messages.empty()) {
-		uint t = g_system->getMillis(true);
 		if (t - _lastUpdate >= kMinimumDelay) {
 			_lastUpdate = t;
 
 			OSDQueueEntry *entry = _messages.pop();
 
-			if (entry->_image)
+			if (entry->_image) {
 				g_system->displayActivityIconOnOSD(entry->_image);
-			else if (entry->_text)
+				_iconWasShown = true;
+			} else if (entry->_text) {
 				g_system->displayMessageOnOSD(*(entry->_text));
+			}
 
 			delete entry;
 		}
+	} else if (t - _lastUpdate >= kIconCleanupDelay) {
+		// If there are no messages, but the last message was an icon that was shown, clear it after a delay
+		if (_iconWasShown) {
+			g_system->displayActivityIconOnOSD(nullptr);
+			_iconWasShown = false;
+		}
 	}
 	_mutex.unlock();
 
diff --git a/common/osd_message_queue.h b/common/osd_message_queue.h
index 27d205f3be8..b24cb136da6 100644
--- a/common/osd_message_queue.h
+++ b/common/osd_message_queue.h
@@ -54,7 +54,8 @@ public:
 	void registerEventSource();
 
 	enum {
-		kMinimumDelay = 1000 /** < Minimum delay between two OSD messages (in milliseconds) */
+		kMinimumDelay = 1000, /** < Minimum delay between two OSD messages (in milliseconds) */
+		kIconCleanupDelay = 2 * 1000, /** < Delay after which an OSD icon is removed if it hasn't been shown (in milliseconds) */
 	};
 
 	/**
@@ -91,6 +92,7 @@ private:
 	Mutex _mutex;
 	Queue<OSDQueueEntry *> _messages;
 	uint32 _lastUpdate;
+	bool _iconWasShown;
 };
 
 /** @} */


Commit: 179c9706a6a6c35f434c28af8eb08a8b0d8b273f
    https://github.com/scummvm/scummvm/commit/179c9706a6a6c35f434c28af8eb08a8b0d8b273f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-03-01T00:07:51+01:00

Commit Message:
NEWS: Mention MT-32 display

Changed paths:
    NEWS.md


diff --git a/NEWS.md b/NEWS.md
index d0c69d42e14..d1d5f076656 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -8,6 +8,7 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Implemented multiselect in the GUI launcher games list.
    - Updated ImGui library to 1.92.6-docker.
    - Fixed Smart Search in the Icons Grid view in the launcher.
+   - Simulate MT-32 display for on-screen messages.
 
  Bagel:
    - Fix Enter/Escape keys in The Guessing Game guess dialog.


Commit: 639e3c7a1371510de698c138313d59e9ef411e05
    https://github.com/scummvm/scummvm/commit/639e3c7a1371510de698c138313d59e9ef411e05
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-03-01T00:07:51+01:00

Commit Message:
DIRECTOR: DT: Fix warning

Changed paths:
    engines/director/debugger/dt-score.cpp


diff --git a/engines/director/debugger/dt-score.cpp b/engines/director/debugger/dt-score.cpp
index be2aae69962..0f8e951bb5c 100644
--- a/engines/director/debugger/dt-score.cpp
+++ b/engines/director/debugger/dt-score.cpp
@@ -932,7 +932,7 @@ static void drawLabelBar(ImDrawList *dl, ImVec2 pos, Score *score) {
 				dl->AddText(ImVec2(textX, textY), U32(_state->_colors._type_color), labelName->c_str());
 
 			float px = pos.x + f * cfg._cellWidth;
-			ImGui::SetCursorScreenPos(ImVec2(pos.x + f * cfg._cellWidth, y));
+			ImGui::SetCursorScreenPos(ImVec2(px, y));
 			ImGui::InvisibleButton(Common::String::format("##labelcell_%d", f).c_str(), ImVec2(cfg._cellWidth, cfg._labelBarHeight));
 
 			if (ImGui::IsItemHovered())




More information about the Scummvm-git-logs mailing list