OSDN Git Service

巨大なドキュメントを表示していると落ちることがあった
authorkonekoneko <test2214@hotmail.co.jp>
Mon, 10 Oct 2016 17:36:14 +0000 (23:06 +0530)
committerkonekoneko <test2214@hotmail.co.jp>
Mon, 10 Oct 2016 17:36:14 +0000 (23:06 +0530)
UWP/FooEditEngine.UWP/FooTextBox.cs

index 024258f..5fb561b 100644 (file)
@@ -781,14 +781,16 @@ namespace FooEditEngine.UWP
             }
 
             int start = req.Range.StartCaretPosition;
-            int length = req.Range.EndCaretPosition - req.Range.StartCaretPosition;
-            if (length > this.Document.Length)
-                length = this.Document.Length;
+            int end = req.Range.EndCaretPosition;
+            if (end > this.Document.Length)
+                end = this.Document.Length;
+
+            int length = end - start;
 
             System.Diagnostics.Debug.WriteLine("req text start:{0} length:{1}", start, length);
 
             //キャレット位置も含むので+1する必要はない
-            req.Text = this.Document.ToString(start, length);
+            req.Text = this.Document.ToString(start,length);
         }
 
         private void TextEditContext_LayoutRequested(CoreTextEditContext sender, CoreTextLayoutRequestedEventArgs args)