[Scummvm-git-logs] scummvm master -> 0983cf9263b19b9ac2f98b1f3dea71f3c6c2542a

sluicebox 22204938+sluicebox at users.noreply.github.com
Wed Aug 18 07:41:40 UTC 2021


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:
0983cf9263 SCI32: Fix SaveFileRewriteStream


Commit: 0983cf9263b19b9ac2f98b1f3dea71f3c6c2542a
    https://github.com/scummvm/scummvm/commit/0983cf9263b19b9ac2f98b1f3dea71f3c6c2542a
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-08-18T02:41:28-05:00

Commit Message:
SCI32: Fix SaveFileRewriteStream

Fixes Phantasmagoria 1 infinite loop when loading save games

SaveFileRewriteStream depended on MemoryWriteStreamDynamic::_size being
set by MemoryWriteStreamDynamic::ensureCapacity(), but this recently
changed in e83fed6c60c869b89471cfc644097fae70d7521b

Changed paths:
    engines/sci/engine/file.cpp


diff --git a/engines/sci/engine/file.cpp b/engines/sci/engine/file.cpp
index 7431d171f1..98d71a15ef 100644
--- a/engines/sci/engine/file.cpp
+++ b/engines/sci/engine/file.cpp
@@ -60,9 +60,9 @@ SaveFileRewriteStream::SaveFileRewriteStream(const Common::String &fileName,
 	const bool seekToEnd = (mode == kFileOpenModeOpenOrCreate);
 
 	if (!truncate && inFile) {
-		const uint s = inFile->size();
-		ensureCapacity(s);
-		inFile->read(_data, s);
+		const uint32 size = inFile->size();
+		ensureCapacity(size);
+		_size = inFile->read(_data, size);
 		if (seekToEnd) {
 			seek(0, SEEK_END);
 		}




More information about the Scummvm-git-logs mailing list