diff --git a/tryton/gui/window/view_form/widget_search/float.py b/tryton/gui/window/view_form/widget_search/float.py index d5e1b684f2..560a63586f 100644 --- a/tryton/gui/window/view_form/widget_search/float.py +++ b/tryton/gui/window/view_form/widget_search/float.py @@ -45,6 +45,8 @@ class Float(Integer): position = widget.get_position() new_value = value[:position] + new_text + value[position:] try: + if new_value == '-': + return if len(str(int(locale.atof(new_value)))) > self.digits[0]: widget.stop_emission('insert-text') except: diff --git a/tryton/gui/window/view_form/widget_search/integer.py b/tryton/gui/window/view_form/widget_search/integer.py index da88d62f21..013e7237d6 100644 --- a/tryton/gui/window/view_form/widget_search/integer.py +++ b/tryton/gui/window/view_form/widget_search/integer.py @@ -77,6 +77,8 @@ class Integer(Interface): position = widget.get_position() new_value = value[:position] + new_text + value[position:] try: + if new_value == '-': + return locale.atoi(new_value) except: widget.stop_emission('insert-text')