changeset ebd77bfef747 in tryton:4.6
details: https://hg.tryton.org/tryton?cmd=changeset;node=ebd77bfef747
description:
        Do not fail when get_visible_range return None

        It can happen if there is no node if found by GTK.

        issue8694
        review277971002
        (grafted from c522cb07dc70c77759572b87881b86661bd7101d)
diffstat:

 tryton/gui/window/view_form/screen/screen.py |  36 +++++++++++++++------------
 1 files changed, 20 insertions(+), 16 deletions(-)

diffs (53 lines):

diff -r 0757581c0ae7 -r ebd77bfef747 
tryton/gui/window/view_form/screen/screen.py
--- a/tryton/gui/window/view_form/screen/screen.py      Fri Oct 11 11:40:42 
2019 +0200
+++ b/tryton/gui/window/view_form/screen/screen.py      Thu Oct 24 19:16:12 
2019 +0200
@@ -879,14 +879,16 @@
         view.set_value()
         self.set_cursor(reset_view=False)
         if view.view_type == 'tree' and len(self.group):
-            start, end = view.treeview.get_visible_range()
-            vadjustment = view.treeview.get_vadjustment()
-            vadjustment.props.value = min(
-                vadjustment.props.value + vadjustment.props.page_increment,
-                vadjustment.props.upper)
-            model = view.treeview.get_model()
-            iter_ = model.get_iter(end)
-            self.current_record = model.get_value(iter_, 0)
+            range_ = view.treeview.get_visible_range()
+            if range_:
+                start, end = range_
+                vadjustment = view.treeview.get_vadjustment()
+                vadjustment.props.value = min(
+                    vadjustment.props.value + vadjustment.props.page_increment,
+                    vadjustment.props.upper)
+                model = view.treeview.get_model()
+                iter_ = model.get_iter(end)
+                self.current_record = model.get_value(iter_, 0)
         elif (view.view_type == 'form'
                 and self.current_record
                 and self.current_record.group):
@@ -950,14 +952,16 @@
         view.set_value()
         self.set_cursor(reset_view=False)
         if view.view_type == 'tree' and len(self.group):
-            start, end = view.treeview.get_visible_range()
-            vadjustment = view.treeview.get_vadjustment()
-            vadjustment.props.value = min(
-                vadjustment.props.value - vadjustment.props.page_increment,
-                vadjustment.props.lower)
-            model = view.treeview.get_model()
-            iter_ = model.get_iter(start)
-            self.current_record = model.get_value(iter_, 0)
+            range_ = view.treeview.get_visible_range()
+            if range_:
+                start, end = range_
+                vadjustment = view.treeview.get_vadjustment()
+                vadjustment.props.value = min(
+                    vadjustment.props.value - vadjustment.props.page_increment,
+                    vadjustment.props.lower)
+                model = view.treeview.get_model()
+                iter_ = model.get_iter(start)
+                self.current_record = model.get_value(iter_, 0)
         elif (view.view_type == 'form'
                 and self.current_record
                 and self.current_record.group):

Reply via email to