[Scummvm-git-logs] scummvm branch-2-9 -> fd41e7017b4bfed025efe621261d828a6f1db6bc
eriktorbjorn
noreply at scummvm.org
Wed Feb 5 06:33:14 UTC 2025
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:
fd41e7017b TINSEL: Fix save/load menu becoming inaccessible (bug #15723)
Commit: fd41e7017b4bfed025efe621261d828a6f1db6bc
https://github.com/scummvm/scummvm/commit/fd41e7017b4bfed025efe621261d828a6f1db6bc
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2025-02-05T07:09:30+01:00
Commit Message:
TINSEL: Fix save/load menu becoming inaccessible (bug #15723)
When the save/load dialogs are displayed, the engine switches to a
different keymapper. It was only switched back when using the "X" button
to load a savegame, not when double-clicking on one. This made it
impossible to open the save/load dialogs again.
Now the keymap is restored in Dialogs::killInventory() instead. That
means it will be done even when not needed, but this is where we also
disable the virtual keyboard so it's presumably a good, well-tested spot
for it.
Changed paths:
engines/tinsel/dialogs.cpp
diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index 60f8e8dfa15..729bb19c41e 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -3661,11 +3661,12 @@ void Dialogs::openMenu(CONFTYPE menuType) {
_invD[INV_CONF].resizable = false;
_invD[INV_CONF].bMoveable = false;
- Common::Keymapper *keymapper = _vm->getEventManager()->getKeymapper();
if (menuType == SAVE_MENU || menuType == LOAD_MENU) {
+ Common::Keymapper *keymapper = _vm->getEventManager()->getKeymapper();
keymapper->getKeymap("game-shortcuts")->setEnabled(false);
keymapper->getKeymap("saveload-shortcuts")->setEnabled(true);
}
+
switch (menuType) {
case MAIN_MENU:
setMenuGlobals(&ciOption);
@@ -3868,6 +3869,10 @@ void Dialogs::killInventory() {
_vm->_pcmMusic->unDim(false);
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false); // Hide VK after save dialog closes
+
+ Common::Keymapper *keymapper = _vm->getEventManager()->getKeymapper();
+ keymapper->getKeymap("game-shortcuts")->setEnabled(true);
+ keymapper->getKeymap("saveload-shortcuts")->setEnabled(false);
}
void Dialogs::closeInventory() {
@@ -5501,13 +5506,6 @@ bool Dialogs::isConvWindow() {
}
void Dialogs::callFunction(BFUNC boxFunc) {
-
- Common::Keymapper *keymapper = _vm->getEventManager()->getKeymapper();
- if (boxFunc == CLOSEWIN || boxFunc == SAVEGAME || boxFunc == LOADGAME) {
- keymapper->getKeymap("game-shortcuts")->setEnabled(true);
- keymapper->getKeymap("saveload-shortcuts")->setEnabled(false);
- }
-
switch (boxFunc) {
case SAVEGAME:
killInventory();
More information about the Scummvm-git-logs
mailing list