[Scummvm-git-logs] scummvm master -> 3c81027efa519f0e57b2cfe4e0c1b95139f7b5cd

criezy criezy at scummvm.org
Sun Aug 22 18:44:12 UTC 2021


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:
0d8b9d272c OS7: Fix calling UI API on a background thread
3c81027efa AGS: Allow using pixel format with different color depth than requested


Commit: 0d8b9d272cc66adf8887b615832c4e35e9057ca0
    https://github.com/scummvm/scummvm/commit/0d8b9d272cc66adf8887b615832c4e35e9057ca0
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2021-08-22T19:45:19+01:00

Commit Message:
OS7: Fix calling UI API on a background thread

This occured for example whenever showing the GMM in a game and
could cause various issues.

Changed paths:
    backends/platform/ios7/ios7_osys_video.mm


diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index d304a249b9..1f186b3dc9 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -597,5 +597,13 @@ void OSystem_iOS7::setShowKeyboard(bool show) {
 }
 
 bool OSystem_iOS7::isKeyboardShown() const {
-	return [[iOS7AppDelegate iPhoneView] isKeyboardShown];
+	if ([NSThread currentThread] == [NSThread mainThread]) {
+		return [[iOS7AppDelegate iPhoneView] isKeyboardShown];
+	} else {
+		__block bool shown = false;
+		dispatch_sync(dispatch_get_main_queue(), ^{
+			 shown = [[iOS7AppDelegate iPhoneView] isKeyboardShown];
+		});
+		return shown;
+	}
 }


Commit: 3c81027efa519f0e57b2cfe4e0c1b95139f7b5cd
    https://github.com/scummvm/scummvm/commit/3c81027efa519f0e57b2cfe4e0c1b95139f7b5cd
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2021-08-22T19:45:20+01:00

Commit Message:
AGS: Allow using pixel format with different color depth than requested

This allows to play 32 bit games on iOS (the backend currently only
supports 16 bit color depth).

Changed paths:
    engines/ags/ags.cpp


diff --git a/engines/ags/ags.cpp b/engines/ags/ags.cpp
index 0bd378fe70..3ba42be0da 100644
--- a/engines/ags/ags.cpp
+++ b/engines/ags/ags.cpp
@@ -203,6 +203,7 @@ bool AGSEngine::getPixelFormat(int depth, Graphics::PixelFormat &format) const {
 		return true;
 	}
 
+	// Prefer format with the requested color depth
 	for (Common::List<Graphics::PixelFormat>::iterator it =
 			supportedFormatsList.begin(); it != supportedFormatsList.end(); ++it) {
 		if (it->bpp() == depth) {
@@ -211,6 +212,12 @@ bool AGSEngine::getPixelFormat(int depth, Graphics::PixelFormat &format) const {
 		}
 	}
 
+	// Allow using 16 bit <-> 32 bit conversions by using the preferred graphics mode
+	if (!supportedFormatsList.empty()) {
+		format = supportedFormatsList.front();
+		return true;
+	}
+
 	return false;
 }
 




More information about the Scummvm-git-logs mailing list