diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py index 9ea63d266a..00937395e7 100644 --- a/tryton/gui/window/view_form/model/group.py +++ b/tryton/gui/window/view_form/model/group.py @@ -124,10 +124,12 @@ class Group(SignalEvent, list): del self.__id2record[record.id] def clear(self): - for record in self[:]: + # Use reversed order to minimize the cursor reposition as the cursor + # has more chances to be on top of the list. + for record in reversed(self[:]): self.signal('group-list-changed', ('record-removed', record)) record.destroy() - self.pop(0) + self.pop() self.__id2record = {} self.record_removed, self.record_deleted = [], []