From 869f26a5bac877e7e669b94046a458bad023e9cd Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 1 Apr 2020 16:34:49 +0200 Subject: [PATCH] Fix crash when entering nonsense numbers like '-' We shouldn't accept those in the input field at all in my opinion but that is for another time. Fixes Sentry issue CURA-F5. --- plugins/ImageReader/ImageReaderUI.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 512bf9f8be..2a46a32c30 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -104,7 +104,10 @@ class ImageReaderUI(QObject): def onWidthChanged(self, value): if self._ui_view and not self._disable_size_callbacks: if len(value) > 0: - self._width = float(value.replace(",", ".")) + try: + self._width = float(value.replace(",", ".")) + except ValueError: # Can happen with incomplete numbers, such as "-". + self._width = 0 else: self._width = 0 @@ -117,7 +120,10 @@ class ImageReaderUI(QObject): def onDepthChanged(self, value): if self._ui_view and not self._disable_size_callbacks: if len(value) > 0: - self._depth = float(value.replace(",", ".")) + try: + self._depth = float(value.replace(",", ".")) + except ValueError: # Can happen with incomplete numbers, such as "-". + self._depth = 0 else: self._depth = 0 @@ -128,15 +134,21 @@ class ImageReaderUI(QObject): @pyqtSlot(str) def onBaseHeightChanged(self, value): - if (len(value) > 0): - self.base_height = float(value.replace(",", ".")) + if len(value) > 0: + try: + self.base_height = float(value.replace(",", ".")) + except ValueError: # Can happen with incomplete numbers, such as "-". + self.base_height = 0 else: self.base_height = 0 @pyqtSlot(str) def onPeakHeightChanged(self, value): - if (len(value) > 0): - self.peak_height = float(value.replace(",", ".")) + if len(value) > 0: + try: + self.peak_height = float(value.replace(",", ".")) + except ValueError: # Can happen with incomplete numbers, such as "-". + self._width = 0 else: self.peak_height = 0