[Scummvm-git-logs] scummvm master -> 4518f73f920ee5d564e266032cfbcde87165c372
criezy
criezy at scummvm.org
Wed Dec 9 22:24:56 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
9e5540f838 BASE: Handle RTL at exit config in scummvm_main
4518f73f92 BASE: Remove FORCE_RETURN_TO_LAUNCHER define
Commit: 9e5540f838ab0dbd37438d92ce1d90447f6a9c6f
https://github.com/scummvm/scummvm/commit/9e5540f838ab0dbd37438d92ce1d90447f6a9c6f
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2020-12-09T22:13:22Z
Commit Message:
BASE: Handle RTL at exit config in scummvm_main
This config was handled in the DefaultEventManager, but this did not
work for engines that quit the game without using a QUIT_EVENT (such
as SCI). So now it is handled one level up directly in scummvm_main.
Note: It is still also handled in the DefaultEventManager so that we
get the correct confirmation dialog there when "confirm_exit" is true.
Changed paths:
backends/events/default/default-events.cpp
backends/events/default/default-events.h
base/main.cpp
common/events.h
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index 247f8bda62..374c94a3e1 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -96,7 +96,9 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
bool forwardEvent = true;
// If the backend has the kFeatureNoQuit or the "Return to Launcher at Exit" option is enabled,
- // replace "Quit" event with "Return to Launcher"
+ // replace "Quit" event with "Return to Launcher". This is also handled in scummvm_main, but
+ // doing it here allows getting the correct confirmation dialog if the "confirm_exit" setting
+ // is set to true.
if (event.type == Common::EVENT_QUIT && (g_system->hasFeature(OSystem::kFeatureNoQuit) || (ConfMan.getBool("gui_return_to_launcher_at_exit") && g_engine)))
event.type = Common::EVENT_RETURN_TO_LAUNCHER;
diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h
index 811908d995..cafad62a45 100644
--- a/backends/events/default/default-events.h
+++ b/backends/events/default/default-events.h
@@ -74,9 +74,7 @@ public:
virtual int shouldQuit() const override { return _shouldQuit; }
virtual int shouldReturnToLauncher() const override { return _shouldReturnToLauncher; }
virtual void resetReturnToLauncher() override { _shouldReturnToLauncher = false; }
-#ifdef FORCE_RETURN_TO_LAUNCHER
virtual void resetQuit() override { _shouldQuit = false; }
-#endif
Common::Keymapper *getKeymapper() override { return _keymapper; }
Common::Keymap *getGlobalKeymap() override;
diff --git a/base/main.cpp b/base/main.cpp
index a324c89922..cd50b0b172 100644
--- a/base/main.cpp
+++ b/base/main.cpp
@@ -621,14 +621,14 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
// Quit unless an error occurred, or Return to launcher was requested
#ifndef FORCE_RETURN_TO_LAUNCHER
- if (result.getCode() == Common::kNoError && !g_system->getEventManager()->shouldReturnToLauncher())
+ if (result.getCode() == Common::kNoError && !g_system->getEventManager()->shouldReturnToLauncher() &&
+ !g_system->hasFeature(OSystem::kFeatureNoQuit) && !ConfMan.getBool("gui_return_to_launcher_at_exit"))
break;
#endif
- // Reset the return to launcher flag in case we want to load another engine
+ // Reset the return to launcher and quit flags in case we want to load another engine
g_system->getEventManager()->resetReturnToLauncher();
-#ifdef FORCE_RETURN_TO_LAUNCHER
g_system->getEventManager()->resetQuit();
-#endif
+
#ifdef ENABLE_EVENTRECORDER
if (g_eventRec.checkForContinueGame()) {
continue;
diff --git a/common/events.h b/common/events.h
index 84594e880b..8a41945d60 100644
--- a/common/events.h
+++ b/common/events.h
@@ -510,9 +510,7 @@ public:
* Used when we have returned to the launcher.
*/
virtual void resetReturnToLauncher() = 0;
-#ifdef FORCE_RETURN_TO_LAUNCHER
virtual void resetQuit() = 0;
-#endif
// Optional: check whether a given key is currently pressed ????
//virtual bool isKeyPressed(int keycode) = 0;
Commit: 4518f73f920ee5d564e266032cfbcde87165c372
https://github.com/scummvm/scummvm/commit/4518f73f920ee5d564e266032cfbcde87165c372
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2020-12-09T22:13:22Z
Commit Message:
BASE: Remove FORCE_RETURN_TO_LAUNCHER define
This was only used by the ps2 backend, and that backend no longer
exists. Also now backends that want to force RTL should use the
kFeatureNoQuit OSystem feature instead.
Changed paths:
base/main.cpp
diff --git a/base/main.cpp b/base/main.cpp
index cd50b0b172..d2b62123ed 100644
--- a/base/main.cpp
+++ b/base/main.cpp
@@ -620,11 +620,10 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
}
// Quit unless an error occurred, or Return to launcher was requested
-#ifndef FORCE_RETURN_TO_LAUNCHER
if (result.getCode() == Common::kNoError && !g_system->getEventManager()->shouldReturnToLauncher() &&
!g_system->hasFeature(OSystem::kFeatureNoQuit) && !ConfMan.getBool("gui_return_to_launcher_at_exit"))
break;
-#endif
+
// Reset the return to launcher and quit flags in case we want to load another engine
g_system->getEventManager()->resetReturnToLauncher();
g_system->getEventManager()->resetQuit();
More information about the Scummvm-git-logs
mailing list