Browse Source

Reset dirty rects before calling SceneInvalidated.

When cleared after calling `SceneInvalidated`, any control invalidated during `SceneInvalidated` was be lost.

Fixes #2518.
pull/2524/head
Steven Kirk 7 years ago
parent
commit
2661e939b1
  1. 5
      src/Avalonia.Visuals/Rendering/DeferredRenderer.cs

5
src/Avalonia.Visuals/Rendering/DeferredRenderer.cs

@ -528,6 +528,8 @@ namespace Avalonia.Rendering
oldScene?.Dispose(); oldScene?.Dispose();
} }
_dirty.Clear();
if (SceneInvalidated != null) if (SceneInvalidated != null)
{ {
var rect = new Rect(); var rect = new Rect();
@ -540,10 +542,9 @@ namespace Avalonia.Rendering
} }
} }
System.Diagnostics.Debug.WriteLine("Invalidated " + rect);
SceneInvalidated(this, new SceneInvalidatedEventArgs((IRenderRoot)_root, rect)); SceneInvalidated(this, new SceneInvalidatedEventArgs((IRenderRoot)_root, rect));
} }
_dirty.Clear();
} }
else else
{ {

Loading…
Cancel
Save