From 1a0474467951339fef65e49fcf79151a6207966a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 16 Jun 2020 09:50:18 +0200 Subject: [PATCH] Prevent crash when starting the firmware update twice CURA-6Q --- cura/PrinterOutput/FirmwareUpdater.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 8688c5a623..c4f3948c20 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -7,6 +7,8 @@ from enum import IntEnum from threading import Thread from typing import Union +from UM.Logger import Logger + MYPY = False if MYPY: from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice @@ -38,8 +40,10 @@ class FirmwareUpdater(QObject): return self._setFirmwareUpdateState(FirmwareUpdateState.updating) - - self._update_firmware_thread.start() + try: + self._update_firmware_thread.start() + except RuntimeError: + Logger.warning("Could not start the update thread, since it's still running!") def _updateFirmware(self) -> None: raise NotImplementedError("_updateFirmware needs to be implemented")