Browse Source

Check for null from Scene.FindNode.

Scene.FindNode(layerRoot) may return null if the layer root has been hidden.
scenegraph-after-breakage
Steven Kirk 9 years ago
parent
commit
ec80b12e97
  1. 23
      src/Avalonia.Visuals/Rendering/DeferredRenderer.cs

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

@ -236,19 +236,22 @@ namespace Avalonia.Rendering
var renderTarget = _layers[layer.LayerRoot].Bitmap;
var node = (VisualNode)scene.FindNode(layer.LayerRoot);
using (var context = renderTarget.CreateDrawingContext(this))
if (node != null)
{
foreach (var rect in layer.Dirty)
using (var context = renderTarget.CreateDrawingContext(this))
{
context.Transform = Matrix.Identity;
context.PushClip(rect);
context.Clear(Colors.Transparent);
Render(context, node, layer.LayerRoot, rect);
context.PopClip();
if (DrawDirtyRects)
foreach (var rect in layer.Dirty)
{
_dirtyRectsDisplay.Add(rect);
context.Transform = Matrix.Identity;
context.PushClip(rect);
context.Clear(Colors.Transparent);
Render(context, node, layer.LayerRoot, rect);
context.PopClip();
if (DrawDirtyRects)
{
_dirtyRectsDisplay.Add(rect);
}
}
}
}

Loading…
Cancel
Save