Browse Source

Merge branch 'master' of https://github.com/Ultimaker/Cura

fieldOfView 8 years ago
parent
commit
49ab5d0457

+ 5 - 4
plugins/CuraEngineBackend/CuraEngineBackend.py

@@ -127,7 +127,6 @@ class CuraEngineBackend(Backend):
     def close(self):
         # Terminate CuraEngine if it is still running at this point
         self._terminate()
-        super().close()
 
     ##  Get the command that is used to call the engine.
     #   This is useful for debugging and used to actually start the engine.
@@ -195,7 +194,8 @@ class CuraEngineBackend(Backend):
         self.slicingCancelled.emit()
         self.processingProgress.emit(0)
         Logger.log("d", "Attempting to kill the engine process")
-        self._createSocket()  # Ensure that we have a fresh socket.
+        if self._enabled:
+            self._createSocket()  # Ensure that we have a fresh socket.
         if Application.getInstance().getCommandLineOption("external-backend", False):
             return
 
@@ -374,8 +374,9 @@ class CuraEngineBackend(Backend):
     #
     #   \param tool The tool that the user is using.
     def _onToolOperationStarted(self, tool):
-        self._terminate()  # Do not continue slicing once a tool has started
         self._enabled = False  # Do not reslice when a tool is doing it's 'thing'
+        self._terminate()  # Do not continue slicing once a tool has started
+
 
     ##  Called when the user stops using some tool.
     #
@@ -384,6 +385,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):
@@ -407,7 +409,6 @@ class CuraEngineBackend(Backend):
         if not self._restart and self._process:
             Logger.log("d", "Backend quit with return code %s. Resetting process and socket.", self._process.wait())
             self._process = None
-            self._createSocket()
 
     ##  Called when the global container stack changes
     def _onGlobalStackChanged(self):

+ 2 - 2
resources/qml/Settings/SettingView.qml

@@ -94,10 +94,10 @@ ScrollView
             {
                 target: provider
                 property: "containerStackId"
-                when: model.settable_per_extruder || model.settable_per_mesh || (inheritStackProvider.properties.global_inherits_stack != null && inheritStackProvider.properties.global_inherits_stack >= 0);
+                when: model.settable_per_extruder || (inheritStackProvider.properties.global_inherits_stack != null && inheritStackProvider.properties.global_inherits_stack >= 0);
                 value:
                 {
-                    if(!model.settable_per_extruder && !model.settable_per_mesh)
+                    if(!model.settable_per_extruder)
                     {
                         //Not settable per extruder, so we must pick global.
                         return Cura.MachineManager.activeMachineId;