"\tforeach(var sym in syms) {",
"\t\t_this.navliststore.el.append(sym);",
"\t}",
- "\tGtk.TextIter iter;",
- "\t_this.buffer.el.get_iter_at_offset (",
- "\t\t\tout iter, _this.buffer.el.cursor_position);",
- "\tvar line = iter.get_line();",
- "\t_this.navigation.updateSelectedLine(",
- "\t\t\t(uint)iter.get_line(),",
- "\t\t\t(uint)iter.get_line_offset()",
+ "\tGLib.Idle.add(() => {",
+ "\t\tGlib.debug(\"idle update scroll\");",
+ "\t\tGtk.TextILter iter;",
+ "\t\t_this.buffer.el.get_iter_at_offset (",
+ "\t\t\t\tout iter, _this.buffer.el.cursor_position);",
+ "\t\tvar line = iter.get_line();",
+ "\t\tthis.updateSelectedLine(",
+ "\t\t\t\t(uint)iter.get_line(),",
+ "\t\t\t\t(uint)iter.get_line_offset()",
"\t\t);",
+ "\t\treturn false;",
+ "\t});",
"",
"}"
],
foreach(var sym in syms) {
_this.navliststore.el.append(sym);
}
- Gtk.TextIter iter;
- _this.buffer.el.get_iter_at_offset (
- out iter, _this.buffer.el.cursor_position);
- var line = iter.get_line();
- _this.navigation.updateSelectedLine(
- (uint)iter.get_line(),
- (uint)iter.get_line_offset()
+ GLib.Idle.add(() => {
+ Glib.debug("idle update scroll");
+ Gtk.TextILter iter;
+ _this.buffer.el.get_iter_at_offset (
+ out iter, _this.buffer.el.cursor_position);
+ var line = iter.get_line();
+ this.updateSelectedLine(
+ (uint)iter.get_line(),
+ (uint)iter.get_line_offset()
);
+ return false;
+ });
}
public int getRowAt (double x, double y, out string pos) {