From 3e3e7d0fce83dafd4612a8594463c083b2a054cf Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Fri, 12 Oct 2012 16:12:18 +0200 Subject: [PATCH] AvalonEdit IME support: Fix NullReferenceException when HwndSource.RootVisual == null. Can happen during AvalonDock layout switches (http://community.sharpdevelop.net/forums/t/16326.aspx) --- .../ICSharpCode.AvalonEdit/Editing/ImeNativeWrapper.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/ImeNativeWrapper.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/ImeNativeWrapper.cs index d01b787e19..70572c94d2 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/ImeNativeWrapper.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/ImeNativeWrapper.cs @@ -150,7 +150,7 @@ namespace ICSharpCode.AvalonEdit.Editing { // this may happen during layout changes in AvalonDock, so we just return an empty rectangle // in those cases. It should be refreshed immediately. - if (!source.RootVisual.IsAncestorOf(textView)) + if (source.RootVisual == null || !source.RootVisual.IsAncestorOf(textView)) return EMPTY_RECT; Rect displayRect = new Rect(0, 0, textView.ActualWidth, textView.ActualHeight); return textView @@ -167,7 +167,7 @@ namespace ICSharpCode.AvalonEdit.Editing return EMPTY_RECT; // this may happen during layout changes in AvalonDock, so we just return an empty rectangle // in those cases. It should be refreshed immediately. - if (!source.RootVisual.IsAncestorOf(textView)) + if (source.RootVisual == null || !source.RootVisual.IsAncestorOf(textView)) return EMPTY_RECT; TextLine line = vl.GetTextLine(pos.VisualColumn); Rect displayRect;