Browse Source

Convex hull is also redrawn when machineInstance is changed

CURA-742
Jaime van Kessel 9 years ago
parent
commit
782c4508c6
1 changed files with 9 additions and 0 deletions
  1. 9 0
      cura/ConvexHullDecorator.py

+ 9 - 0
cura/ConvexHullDecorator.py

@@ -17,6 +17,7 @@ class ConvexHullDecorator(SceneNodeDecorator):
 
         self._profile = None
         Application.getInstance().getMachineManager().activeProfileChanged.connect(self._onActiveProfileChanged)
+        Application.getInstance().getMachineManager().activeMachineInstanceChanged.connect(self._onActiveMachineInstanceChanged)
         self._onActiveProfileChanged()
 
     ## Force that a new (empty) object is created upon copy.
@@ -67,6 +68,14 @@ class ConvexHullDecorator(SceneNodeDecorator):
         if self._profile:
             self._profile.settingValueChanged.connect(self._onSettingValueChanged)
 
+    def _onActiveMachineInstanceChanged(self):
+        if self._convex_hull_job:
+            self._convex_hull_job.cancel()
+        self.setConvexHull(None)
+        if self._convex_hull_node:
+            self._convex_hull_node.setParent(None)
+            self._convex_hull_node = None
+
     def _onSettingValueChanged(self, setting):
         if setting == "print_sequence":
             if self._convex_hull_job: