From e5cd8c31fbde433b7df23139b951da742777bfef Mon Sep 17 00:00:00 2001 From: Tim Miller Date: Fri, 24 Jul 2026 20:02:18 +0900 Subject: [PATCH] Block external roles from activating UIScene (#21844) --- src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs b/src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs index e8eef65c5c..242a8221b3 100644 --- a/src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs +++ b/src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs @@ -13,7 +13,9 @@ internal sealed class AvaloniaSceneDelegate : UIResponder, IUIWindowSceneDelegat [Export("scene:willConnectToSession:options:")] public void WillConnect(UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions) { - if (session.Configuration.Name is not null || + // Protect against non-application scenes, which can be created by the system for external displays, CarPlay, etc. + if (session.Role != UIWindowSceneSessionRole.Application || + session.Configuration.Name is not null || scene is not UIWindowScene windowScene || Application.Current?.ApplicationLifetime is not SingleViewLifetime lifetime) {