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