Browse Source

Block external roles from activating UIScene (#21844)

pull/21849/head
Tim Miller 2 months ago
committed by GitHub
parent
commit
e5cd8c31fb
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs

4
src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs

@ -13,7 +13,9 @@ internal sealed class AvaloniaSceneDelegate : UIResponder, IUIWindowSceneDelegat
[Export("scene:willConnectToSession:options:")] [Export("scene:willConnectToSession:options:")]
public void WillConnect(UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions) 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 || scene is not UIWindowScene windowScene ||
Application.Current?.ApplicationLifetime is not SingleViewLifetime lifetime) Application.Current?.ApplicationLifetime is not SingleViewLifetime lifetime)
{ {

Loading…
Cancel
Save