[Scummvm-git-logs] scummvm master -> 88291f358fc8078b830c40c2836765925fa81b1c

bluegr noreply at scummvm.org
Fri Dec 30 21:12:48 UTC 2022


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

Summary:
88291f358f BURIED: Clear _controlDown flag on GUI windows opening


Commit: 88291f358fc8078b830c40c2836765925fa81b1c
    https://github.com/scummvm/scummvm/commit/88291f358fc8078b830c40c2836765925fa81b1c
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-12-30T23:12:44+02:00

Commit Message:
BURIED: Clear _controlDown flag on GUI windows opening

Prevents being stuck in fast mode, fixes TRAC #13584

Changed paths:
    engines/buried/buried.cpp
    engines/buried/gameui.cpp
    engines/buried/scene_view.cpp


diff --git a/engines/buried/buried.cpp b/engines/buried/buried.cpp
index 1b051c682fe..9ce151789a9 100644
--- a/engines/buried/buried.cpp
+++ b/engines/buried/buried.cpp
@@ -504,6 +504,10 @@ void BuriedEngine::pollForEvents() {
 			window->postMessage(new RButtonUpMessage(window->convertPointToLocal(event.mouse), 0));
 			break;
 		}
+		case Common::EVENT_MAINMENU: {
+			((FrameWindow *)_mainWindow)->_controlDown = false;
+			break;
+		}
 		default:
 			break;
 		}
diff --git a/engines/buried/gameui.cpp b/engines/buried/gameui.cpp
index 2feb3a8e429..026c15f5c7e 100644
--- a/engines/buried/gameui.cpp
+++ b/engines/buried/gameui.cpp
@@ -311,6 +311,7 @@ void GameUIWindow::onKeyUp(const Common::KeyState &key, uint flags) {
 	case Common::KEYCODE_s:
 		if ((key.flags & Common::KBD_CTRL) && cloakingDisabled && !interfaceMenuActive) {
 			_vm->handleSaveDialog();
+			((FrameWindow *)_vm->_mainWindow)->_controlDown = false;
 		} else if (_sceneViewWindow)
 			_sceneViewWindow->sendMessage(new KeyUpMessage(key, flags));
 		break;
@@ -318,13 +319,15 @@ void GameUIWindow::onKeyUp(const Common::KeyState &key, uint flags) {
 	case Common::KEYCODE_l:
 		if ((key.flags & Common::KBD_CTRL) && cloakingDisabled && !interfaceMenuActive) {
 			_vm->handleRestoreDialog();
+			((FrameWindow *)_vm->_mainWindow)->_controlDown = false;
 		} else if (_sceneViewWindow)
 			_sceneViewWindow->sendMessage(new KeyUpMessage(key, flags));
 		break;
 	case Common::KEYCODE_p:
-		if ((key.flags & Common::KBD_CTRL) && cloakingDisabled && !interfaceMenuActive)
+		if ((key.flags & Common::KBD_CTRL) && cloakingDisabled && !interfaceMenuActive) {
 			_vm->pauseGame();
-		else if (_sceneViewWindow)
+			((FrameWindow *)_vm->_mainWindow)->_controlDown = false;
+		} else if (_sceneViewWindow)
 			_sceneViewWindow->sendMessage(new KeyUpMessage(key, flags));
 		break;
 	default:
diff --git a/engines/buried/scene_view.cpp b/engines/buried/scene_view.cpp
index b0d55af0076..fc6cfa69320 100644
--- a/engines/buried/scene_view.cpp
+++ b/engines/buried/scene_view.cpp
@@ -2296,6 +2296,7 @@ void SceneViewWindow::onKeyUp(const Common::KeyState &key, uint flags) {
 			// Return to main menu
 			if (_vm->runQuitDialog())
 				((FrameWindow *)_vm->_mainWindow)->showMainMenu();
+			((FrameWindow *)_vm->_mainWindow)->_controlDown = false;
 			return;
 		}
 		break;
@@ -2304,6 +2305,7 @@ void SceneViewWindow::onKeyUp(const Common::KeyState &key, uint flags) {
 			// Current points (ScummVM enhancement - Agent evaluation
 			// from death screens)
 			_vm->showPoints();
+			((FrameWindow *)_vm->_mainWindow)->_controlDown = false;
 			return;
 		}
 		break;




More information about the Scummvm-git-logs mailing list