[Scummvm-git-logs] scummvm master -> 971a0659989ca31e34e0e68edcc5761e8d8e0514

sev- noreply at scummvm.org
Fri Mar 20 01:33:05 UTC 2026


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:
971a065998 GUI: Fix speed selection with letters in ListWidget


Commit: 971a0659989ca31e34e0e68edcc5761e8d8e0514
    https://github.com/scummvm/scummvm/commit/971a0659989ca31e34e0e68edcc5761e8d8e0514
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2026-03-20T02:32:35+01:00

Commit Message:
GUI: Fix speed selection with letters in ListWidget

Also, fx Home and End keys

Changed paths:
    gui/widgets/list.cpp


diff --git a/gui/widgets/list.cpp b/gui/widgets/list.cpp
index c75285bddbc..c021b45eba7 100644
--- a/gui/widgets/list.cpp
+++ b/gui/widgets/list.cpp
@@ -464,6 +464,9 @@ bool ListWidget::handleKeyDown(Common::KeyState state) {
 		_quickSelectTime = time + 300;	// TODO: Turn this into a proper constant (kQuickSelectDelay ?)
 
 		if (_quickSelect) {
+			clearSelection();
+			markSelectedItem(_selectedItem, false);
+
 			// FIXME: This is bad slow code (it scans the list linearly each time a
 			// key is pressed); it could be much faster. Only of importance if we have
 			// quite big lists to deal with -- so for now we can live with this lazy
@@ -482,6 +485,7 @@ bool ListWidget::handleKeyDown(Common::KeyState state) {
 				newSelectedItem++;
 			}
 
+			markSelectedItem(_selectedItem, true);
 			scrollToCurrent();
 		} else {
 			sendCommand(_cmd, 0);
@@ -541,7 +545,10 @@ bool ListWidget::handleKeyDown(Common::KeyState state) {
 			}
 			// fall through
 		case Common::KEYCODE_END:
+			clearSelection();
+			markSelectedItem(_selectedItem, false);
 			_selectedItem = _list.size() - 1;
+			markSelectedItem(_selectedItem, true);
 			scrollToCurrent();
 			break;
 
@@ -614,7 +621,10 @@ bool ListWidget::handleKeyDown(Common::KeyState state) {
 			}
 			// fall through
 		case Common::KEYCODE_HOME:
+			clearSelection();
+			markSelectedItem(_selectedItem, false);
 			_selectedItem = 0;
+			markSelectedItem(_selectedItem, true);
 			scrollToCurrent();
 			break;
 




More information about the Scummvm-git-logs mailing list