From 216759da32dbb5d3fe8f2f8263ee7f8c707069fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 28 Jun 2015 19:36:42 +0200 Subject: [PATCH] Fix behaviour of TreeModel when record is None issue4831 review16381002 --- tryton/gui/window/view_form/view/list.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py index 988f0431cc..ffcc948311 100644 --- a/tryton/gui/window/view_form/view/list.py +++ b/tryton/gui/window/view_form/view/list.py @@ -227,7 +227,7 @@ class AdaptModelGroup(gtk.GenericTreeModel): return False children = record.children_group(self.children_field) if children is None: - return True + return False length = len(children) if self.__removed and self.__removed in children: length -= 1 @@ -235,7 +235,10 @@ class AdaptModelGroup(gtk.GenericTreeModel): def on_iter_children(self, record): if record is None: - return None + if self.group: + return self.group[0] + else: + return None if self.children_field: children = record.children_group(self.children_field) if children: @@ -243,15 +246,19 @@ class AdaptModelGroup(gtk.GenericTreeModel): return None def on_iter_n_children(self, record): - if record is None or not self.children_field: + if record is None: return len(self.group) + if not self.children_field: + return 0 return len(record.children_group(self.children_field)) def on_iter_nth_child(self, record, nth): - if record is None or not self.children_field: + if record is None: if nth < len(self.group): return self.group[nth] return None + if not self.children_field: + return None if nth < len(record.children_group(self.children_field)): return record.children_group(self.children_field)[nth] return None