more robust: make double sure that buffer.getText() is valid (see also 2e7073976c25);
authorwenzelm
Wed, 29 Jan 2025 11:53:49 +0100
changeset 82013 82f47e645c0a
parent 82012 194de6d02827
child 82014 8464b7f19c51
more robust: make double sure that buffer.getText() is valid (see also 2e7073976c25);
src/Tools/jEdit/src/rich_text_area.scala
--- a/src/Tools/jEdit/src/rich_text_area.scala	Tue Jan 28 21:42:51 2025 +0100
+++ b/src/Tools/jEdit/src/rich_text_area.scala	Wed Jan 29 11:53:49 2025 +0100
@@ -166,7 +166,10 @@
     def update(new_info: Option[Text.Info[A]]): Unit = {
       val old_text_info = the_text_info
       val new_text_info =
-        new_info.map(info => (text_area.getText(info.range.start, info.range.length), info))
+        for {
+          info <- new_info
+          s <- JEdit_Lib.get_text(text_area.getBuffer, info.range)
+        } yield (s, info)
 
       if (new_text_info != old_text_info) {
         caret_update()