From ebb07cb388219cd1760dec78742f5bb11bb14916 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Tue, 2 Jun 2015 21:27:27 +0800 Subject: [PATCH] src/Builder4/Editor.bjs src/Builder4/Editor.vala --- src/Builder4/Editor.bjs | 2 +- src/Builder4/Editor.vala | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Builder4/Editor.bjs b/src/Builder4/Editor.bjs index e2a947082..cadbdd0aa 100644 --- a/src/Builder4/Editor.bjs +++ b/src/Builder4/Editor.bjs @@ -31,7 +31,7 @@ "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", "@ void save" : "()", "$ homogeneous" : false, - "| void forwardSearch" : "() {\n\n\tif (this.searchcontext == null) {\n\t\treturn;\n\t}\n\t\n\tGtk.TextIter beg, st,en;\n\t \n\tthis.buffer.el.get_iter_at_offset(out beg, this.last_search_end);\n\tthis.searchcontext.forward(beg, out st, out en);\n\tthis.last_search_end = en.get_offset();\n\t\n\tthis.view.el.grab_focus();\n\tthis.buffer.el.place_cursor(st);\n\tthis.view.el.scroll_to_iter(st, 0.1f, true, 0.0f, 0.5f);\n\t\n\n}\n", + "| void forwardSearch" : "() {\n\n\tif (this.searchcontext == null) {\n\t\treturn;\n\t}\n\t\n\tGtk.TextIter beg, st,en;\n\t \n\tthis.buffer.el.get_iter_at_offset(out beg, this.last_search_end);\n\tthis.searchcontext.forward(beg, out st, out en);\n\t\n\tif (en == null) {\n\t\tthis.last_search_end = 0;\n\t} else {\n\t\tthis.last_search_end = en.get_offset();\n\t\n\t\tthis.view.el.grab_focus();\n\t\tthis.buffer.el.place_cursor(st);\n\t\tthis.view.el.scroll_to_iter(st, 0.1f, true, 0.0f, 0.5f);\n\t}\n\n}\n", "# JsRender.Node node" : "null", "items" : [ { diff --git a/src/Builder4/Editor.vala b/src/Builder4/Editor.vala index 411300a46..5257480c1 100644 --- a/src/Builder4/Editor.vala +++ b/src/Builder4/Editor.vala @@ -178,12 +178,16 @@ public class Editor : Object this.buffer.el.get_iter_at_offset(out beg, this.last_search_end); this.searchcontext.forward(beg, out st, out en); - this.last_search_end = en.get_offset(); - this.view.el.grab_focus(); - this.buffer.el.place_cursor(st); - this.view.el.scroll_to_iter(st, 0.1f, true, 0.0f, 0.5f); + if (en == null) { + this.last_search_end = 0; + } else { + this.last_search_end = en.get_offset(); + this.view.el.grab_focus(); + this.buffer.el.place_cursor(st); + this.view.el.scroll_to_iter(st, 0.1f, true, 0.0f, 0.5f); + } } public class Xcls_Box2 : Object -- 2.39.2