Browse Source

Add more null short-circuiting checks in DeferredRenderer related to scene disposal.

Jeremy Koritzinsky 7 years ago
parent
commit
d905721c46
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/Avalonia.Visuals/Rendering/DeferredRenderer.cs

+ 2 - 2
src/Avalonia.Visuals/Rendering/DeferredRenderer.cs

@@ -397,7 +397,7 @@ namespace Avalonia.Rendering
                     }
                     }
 
 
                     var oldScene = Interlocked.Exchange(ref _scene, scene);
                     var oldScene = Interlocked.Exchange(ref _scene, scene);
-                    oldScene.Dispose();
+                    oldScene?.Dispose();
 
 
                     _dirty.Clear();
                     _dirty.Clear();
                     (_root as IRenderRoot)?.Invalidate(new Rect(scene.Size));
                     (_root as IRenderRoot)?.Invalidate(new Rect(scene.Size));
@@ -405,7 +405,7 @@ namespace Avalonia.Rendering
                 else
                 else
                 {
                 {
                     var oldScene = Interlocked.Exchange(ref _scene, null);
                     var oldScene = Interlocked.Exchange(ref _scene, null);
-                    oldScene.Dispose();
+                    oldScene?.Dispose();
                 }
                 }
             }
             }
             finally
             finally