Fix Per Model Settings crash when switching to multiextrusion printer

CURA-2228
This commit is contained in:
fieldOfView 2016-09-07 16:51:03 +02:00
parent be0e010fd1
commit dc282dc263

View file

@ -7,6 +7,7 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
from UM.Application import Application
from UM.Preferences import Preferences
from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator
from cura.Settings.ExtruderManager import ExtruderManager
## This tool allows the user to add & change settings per node in the scene.
@ -71,11 +72,17 @@ class PerObjectSettingsTool(Tool):
global_container_stack = Application.getInstance().getGlobalContainerStack()
if global_container_stack:
self._multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1
if not self._multi_extrusion:
# Ensure that all extruder data is reset
if not self._multi_extrusion:
default_stack_id = global_container_stack.getId()
else:
default_stack_id = ExtruderManager.getInstance().getExtruderStack(0).getId()
root_node = Application.getInstance().getController().getScene().getRoot()
for node in DepthFirstIterator(root_node):
node.callDecoration("setActiveExtruder", global_container_stack.getId())
node.callDecoration("setActiveExtruder", default_stack_id)
self._updateEnabled()
def _updateEnabled(self):