Fix #7996 - handle namespaces in glade, adw overlay for window selection and open
[roobuilder] / src / Builder4 / Editor.bjs
index 30bfedd..79d63cb 100644 (file)
     "\t    if (eline > tlines || eline < 0) {",
     "\t        continue;",
     "\t    }",
-    "\t   ",
     "\t    ",
     "\t    buf.get_iter_at_line( out iter, eline);",
     "\t   \tvar msg = \"Line: %d %s : %s\".printf(eline+1, diag.category, diag.message);",
     "\t    buf.create_source_mark( msg, diag.category, iter);",
+    "\t    ",
+    " \t    var spos = (int)diag.range.start.character - hoffset;",
+    " \t    if (spos < 0) { spos =0 ; }",
+    " \t    if (spos > iter.get_chars_in_line()) {",
+    " \t    \tspos = iter.get_chars_in_line();",
+    "    \t}",
+    "\t\tbuf.get_iter_at_line( out iter, eline_to);",
+    "\t\tvar epos = (int)diag.range.end.character - hoffset;",
+    " \t    if (epos < 0) { epos =0 ; }",
+    " \t    if (epos > iter.get_chars_in_line()) {",
+    " \t    \tepos = iter.get_chars_in_line();",
+    "    \t}",
+    " \t     ",
     " \t    ",
-    " \t    buf.get_iter_at_line_offset( out start, ",
-    " \t    \teline, (int)diag.range.start.character - hoffset); ",
-    " \t    buf.get_iter_at_line_offset( out end, ",
-    " \t    \teline_to, (int)diag.range.end.character - hoffset); ",
+    " \t    buf.get_iter_at_line_offset( out start, eline, spos); ",
+    " \t   ",
+    " \t    buf.get_iter_at_line_offset( out end, eline_to,epos); ",
     " \t    \t",
     "\t    buf.apply_tag_by_name(diag.category, start, end);",
     "\t    ",