[Scummvm-git-logs] scummvm master -> 60de72a73e75a2ceabd42229e65a33f95fcd7ead

criezy criezy at scummvm.org
Tue May 19 00:40:33 UTC 2020


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:
60de72a73e QUEEN: Fix loading savegame from Launcher


Commit: 60de72a73e75a2ceabd42229e65a33f95fcd7ead
    https://github.com/scummvm/scummvm/commit/60de72a73e75a2ceabd42229e65a33f95fcd7ead
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2020-05-19T01:40:13+01:00

Commit Message:
QUEEN: Fix loading savegame from Launcher

Loading a savegame from the Launcher for FOTAQ was broken by
commit de879dd (QUEEN: Disable load/save until game is properly
initialized). The patch comes from libretro to fix an issue
described as "ScummVM allows you to load a previous save before
the game is properly initialised. At best, this leads to
undefined behaviour. Most of the time it causes a segfault."

This commit allows loading save game earlier than the original
patch so that loading savegames from the launcher works again.
I don't know the details of the issue that was seen in libretro,
but I tested this change with both address-sanitizer and valgrind
on both Linux and macOS, and neither tool report any issue when
loading a savegame from the launcher.

This fixes bug #11327 (FOTAQ: Loading save game from the launcher
doesn't work).

Changed paths:
    engines/queen/queen.cpp


diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp
index cff35d9ea2..c3a6620cfd 100644
--- a/engines/queen/queen.cpp
+++ b/engines/queen/queen.cpp
@@ -352,6 +352,7 @@ Common::Error QueenEngine::run() {
 	syncSoundSettings();
 
 	_logic->start();
+	_gameStarted = true;
 	if (ConfMan.hasKey("save_slot") && canLoadOrSave()) {
 		loadGameState(ConfMan.getInt("save_slot"));
 	}
@@ -364,9 +365,6 @@ Common::Error QueenEngine::run() {
 			_logic->currentRoom(_logic->newRoom());
 			_logic->changeRoom();
 			_display->fullscreen(false);
-			// From this point onwards it is safe to use the load/save
-			// menu, so consider game to be 'started'
-			_gameStarted = true;
 			if (_logic->currentRoom() == _logic->newRoom()) {
 				_logic->newRoom(0);
 			}




More information about the Scummvm-git-logs mailing list