diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py index 7d3d44baa9..91263e3494 100644 --- a/tryton/gui/window/form.py +++ b/tryton/gui/window/form.py @@ -139,11 +139,8 @@ class Form(SignalEvent, TabContent): self.screen.signal_connect(self, 'record-message', self._record_message) - def record_modified(*args): - if self.widget_get().props.window: - self.record_modified(*args) self.screen.signal_connect(self, 'record-modified', - lambda *a: gobject.idle_add(record_modified, *a)) + lambda *a: gobject.idle_add(self._record_modified, *a)) self.screen.signal_connect(self, 'record-saved', self._record_saved) self.screen.signal_connect(self, 'attachment-count', self._attachment_count) @@ -439,7 +436,7 @@ class Form(SignalEvent, TabContent): def _record_modified(self, screen, signal_data): # As it is called via idle_add, the form could have been destroyed in # the meantime. - if screen == self.screen: + if self.widget_get().props.window: self.activate_save() def _record_saved(self, screen, signal_data):