From 930ed379730efadff51e3302ea5739fb143332f3 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 2 Dec 2017 20:37:53 +0100 Subject: [PATCH] Fix #857: NullReferenceException in LinesRenderer.OnRender() --- SharpTreeView/LinesRenderer.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SharpTreeView/LinesRenderer.cs b/SharpTreeView/LinesRenderer.cs index d20f748236..886ba81578 100644 --- a/SharpTreeView/LinesRenderer.cs +++ b/SharpTreeView/LinesRenderer.cs @@ -3,6 +3,7 @@ using System.Windows; using System.Windows.Media; +using System.Diagnostics; namespace ICSharpCode.TreeView { @@ -23,6 +24,12 @@ SharpTreeNodeView NodeView protected override void OnRender(DrawingContext dc) { + if (NodeView.Node == null) { + // This seems to happen sometimes with DataContext==DisconnectedItem, + // though I'm not sure why WPF would call OnRender() on a disconnected node + Debug.WriteLine($"LinesRenderer.OnRender() called with DataContext={NodeView.DataContext}"); + return; + } var indent = NodeView.CalculateIndent(); var p = new Point(indent + 4.5, 0);