diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py index fde9491aa1..536e0de56d 100644 --- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py +++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py @@ -55,8 +55,6 @@ class EditableTreeView(TreeView): def on_quit_cell(self, current_record, fieldname, value, callback=None): field = current_record[fieldname] - if hasattr(field, 'editabletree_entry'): - del field.editabletree_entry cell = self.cells[fieldname] # The value has not changed and is valid ... do nothing. @@ -225,6 +223,11 @@ class EditableTreeView(TreeView): # store in the record the entry widget to get the value in # set_value field.editabletree_entry = entry + + def remove_widget(cell): + if hasattr(field, 'editabletree_entry'): + del field.editabletree_entry + entry.connect('remove-widget', remove_widget) record.modified_fields.setdefault(column.name) return False