"\tvar s = _this.view.el.model as Gtk.SingleSelection;",
"\tfor (var i = 0; i < s.n_items; i++) {",
"\t\t//GLib.debug(\"check node %s\", s.get_item(i).get_type().name());",
"\t\tvar lr = s.get_item(i) as Gtk.TreeListRow;",
"\t\t//GLib.debug(\"check node %s\", lr.get_item().get_type().name());",
"\tvar s = _this.view.el.model as Gtk.SingleSelection;",
"\tfor (var i = 0; i < s.n_items; i++) {",
"\t\t//GLib.debug(\"check node %s\", s.get_item(i).get_type().name());",
"\t\tvar lr = s.get_item(i) as Gtk.TreeListRow;",
"\t\t//GLib.debug(\"check node %s\", lr.get_item().get_type().name());",
- "\t\tif ((lr.get_item() as JsRender.Node).oid == node.oid) {",
+ "\t\tvar nn = (lr.get_item() as JsRender.Node);",
+ "\t\tif (nn != null && nn.oid == node.oid) {",
+ "\tif (node == null) {",
+ "\t\ts.selected=Gtk.INVALID_LIST_POSITION;",
+ "\t\treturn;",
+ "\t}",
+ "\tvar row = this.nodeToRow(node);",
+ "",
"| int getRowAt" : [
"(double x, double y, out string pos) {",
"",
"| int getRowAt" : [
"(double x, double y, out string pos) {",
"",
"\tvar w = this.el.pick(x, y, Gtk.PickFlags.DEFAULT);",
"\t//GLib.debug(\"got widget %s\", w == null ? \"nothing\" : w.get_type().name());",
"\tif (w == null) {",
"\tvar w = this.el.pick(x, y, Gtk.PickFlags.DEFAULT);",
"\t//GLib.debug(\"got widget %s\", w == null ? \"nothing\" : w.get_type().name());",
"\tif (w == null) {",