Browse Source

Remove invoke call on Application.Run

Benedikt Schroeder 7 years ago
parent
commit
90fdfae3bd

+ 14 - 21
src/Avalonia.Controls/Application.cs

@@ -240,27 +240,20 @@ namespace Avalonia
 
             _mainLoopCancellationTokenSource = new CancellationTokenSource();
 
-            Dispatcher.UIThread.InvokeAsync(
-                () =>
-                    {
-                        if (MainWindow != null)
-                        {
-                            return;
-                        }
-
-                        if (mainWindow == null)
-                        {
-                            throw new ArgumentNullException(nameof(mainWindow));
-                        }
-
-                        if (!mainWindow.IsVisible)
-                        {
-                            mainWindow.Show();
-                        }
-
-                        MainWindow = mainWindow;
-                    },
-                DispatcherPriority.Send);
+            if (MainWindow == null)
+            {
+                if (mainWindow == null)
+                {
+                    throw new ArgumentNullException(nameof(mainWindow));
+                }
+
+                if (!mainWindow.IsVisible)
+                {
+                    mainWindow.Show();
+                }
+
+                MainWindow = mainWindow;
+            }           
 
             Dispatcher.UIThread.MainLoop(_mainLoopCancellationTokenSource.Token);
 

+ 0 - 11
tests/Avalonia.Controls.UnitTests/ApplicationTests.cs

@@ -105,17 +105,6 @@ namespace Avalonia.Controls.UnitTests
             }
         }
 
-        [Fact]
-        public void Should_Show_MainWindow_After_Run()
-        {
-            using (UnitTestApplication.Start(TestServices.StyledWindow))
-            {
-                var mainWindow = new Window();
-                Application.Current.Run(mainWindow);
-                Assert.True(mainWindow.IsVisible);
-            }
-        }
-
         [Fact]
         public void Throws_ArgumentNullException_On_Run_If_MainWindow_Is_Null()
         {