From 656a56632ec929c26a0fd384d700c4d808ddb6c2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 25 Aug 2016 11:44:46 +0200 Subject: [PATCH 1/4] Socket is now re-created if terminate is called and there is no engine process CURA-2158 --- plugins/CuraEngineBackend/CuraEngineBackend.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 2d8de12b7b..0907c60d68 100644 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -207,6 +207,9 @@ class CuraEngineBackend(Backend): except Exception as e: # terminating a process that is already terminating causes an exception, silently ignore this. Logger.log("d", "Exception occurred while trying to kill the engine %s", str(e)) + else: + # Process is none, but something did went wrong here. Try and re-create the socket + self._createSocket() ## Event handler to call when the job to initiate the slicing process is # completed. From 4f594c9cf3c27f8fdf716253bc0712ecce5a849b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 25 Aug 2016 14:21:26 +0200 Subject: [PATCH 2/4] Removed the timeout for the eject SD card message --- .../RemovableDriveOutputDevice/RemovableDriveOutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py index c6fc277234..8b2580937b 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py +++ b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py @@ -99,7 +99,7 @@ class RemovableDriveOutputDevice(OutputDevice): self._writing = False self.writeFinished.emit(self) if job.getResult(): - message = Message(catalog.i18nc("@info:status", "Saved to Removable Drive {0} as {1}").format(self.getName(), os.path.basename(job.getFileName()))) + message = Message(catalog.i18nc("@info:status", "Saved to Removable Drive {0} as {1}").format(self.getName(), os.path.basename(job.getFileName())), lifetime = 0) message.addAction("eject", catalog.i18nc("@action:button", "Eject"), "eject", catalog.i18nc("@action", "Eject removable device {0}").format(self.getName())) message.actionTriggered.connect(self._onActionTriggered) message.show() From 223489a637ffb7c4aac7907a074901a6ab5b4c14 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 25 Aug 2016 14:33:53 +0200 Subject: [PATCH 3/4] Make mesh-specific global setting solution permanent We've considered various other solutions but this is the only real solution available to us. Contributes to issue CURA-2173. --- cura/Settings/MachineManager.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 0ec71472c3..cbbd4feff0 100644 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -239,7 +239,6 @@ class MachineManager(QObject): self.activeQualityChanged.emit() def _onPropertyChanged(self, key, property_name): - # HACK CURA-2173 if property_name == "value": # If a setting is not settable per extruder but at the same time settable per mesh, the engine needs a value in the extruder stack # This is mainly the case for the "support_enable" setting. @@ -250,7 +249,6 @@ class MachineManager(QObject): for extruder_stack in stacks: if extruder_stack.getProperty(key, "value") != new_value: extruder_stack.getTop().setProperty(key, "value", new_value) - # /HACK if property_name == "validationState": if self._active_stack_valid: From 8810fd83cc21b7fb3b2898d9c41286cb1b4f11e4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 25 Aug 2016 14:34:05 +0200 Subject: [PATCH 4/4] Slecting object no longer causes slice to trigger CURA-2181 --- plugins/CuraEngineBackend/CuraEngineBackend.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 0907c60d68..9e6bec45e4 100644 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -390,8 +390,7 @@ class CuraEngineBackend(Backend): # \param tool The tool that the user was using. def _onToolOperationStopped(self, tool): self._enabled = True # Tool stop, start listening for changes again. - self._terminate() - + ## Called when the user changes the active view mode. def _onActiveViewChanged(self): if Application.getInstance().getController().getActiveView():