Fix extruder color when no extruder_nr has been added to an object

CURA-345
This commit is contained in:
fieldOfView 2016-06-21 22:10:50 +02:00
parent 963a2092ef
commit 3fcfbb4e48

View File

@ -61,21 +61,20 @@ class SolidView(View):
extruder_index = 0
extruder_id = node.callDecoration("getActiveExtruder")
if extruder_id:
extruder_index = self._extruders_model.find("id", extruder_id)
if extruder_index:
extruder_color = self._extruders_model.getItem(extruder_index)["color"]
extruder_index = max(0, self._extruders_model.find("id", extruder_id))
try:
# Colors are passed as rgb hex strings (eg "#ffffff"), and the shader needs
# an rgba list of floats (eg [1.0, 1.0, 1.0, 1.0])
uniforms["diffuse_color"] = [
int(extruder_color[1:3], 16) / 255,
int(extruder_color[3:5], 16) / 255,
int(extruder_color[5:7], 16) / 255,
1.0
]
except:
pass
extruder_color = self._extruders_model.getItem(extruder_index)["color"]
try:
# Colors are passed as rgb hex strings (eg "#ffffff"), and the shader needs
# an rgba list of floats (eg [1.0, 1.0, 1.0, 1.0])
uniforms["diffuse_color"] = [
int(extruder_color[1:3], 16) / 255,
int(extruder_color[3:5], 16) / 255,
int(extruder_color[5:7], 16) / 255,
1.0
]
except:
pass
if hasattr(node, "_outside_buildarea"):
if node._outside_buildarea: