Fix T53171: lamp specials strength tweak fails with renamed emission nodes.

This commit is contained in:
Brecht Van Lommel 2017-11-23 19:13:31 +01:00 committed by Bastien Montagne
parent f901bf6f47
commit 5b2d5f9077
1 changed files with 10 additions and 7 deletions

View File

@ -1444,18 +1444,21 @@ class VIEW3D_MT_object_specials(Menu):
layout.operator_context = 'INVOKE_REGION_WIN'
if scene.render.use_shading_nodes:
try:
value = lamp.node_tree.nodes["Emission"].inputs["Strength"].default_value
except AttributeError:
value = None
emission_node = None
if lamp.node_tree:
for node in lamp.node_tree.nodes:
if getattr(node, "type", None) == 'EMISSION':
emission_node = node
break
if value is not None:
if emission_node is not None:
props = layout.operator("wm.context_modal_mouse", text="Strength")
props.data_path_iter = "selected_editable_objects"
props.data_path_item = "data.node_tree.nodes[\"Emission\"].inputs[\"Strength\"].default_value"
props.data_path_item = "data.node_tree" \
".nodes[\"" + emission_node.name + "\"]" \
".inputs[\"Strength\"].default_value"
props.header_text = "Lamp Strength: %.3f"
props.input_scale = 0.1
del value
if lamp.type == 'AREA':
props = layout.operator("wm.context_modal_mouse", text="Size X")