diff options
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index c7e05a4173e..096c164d7d0 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -1550,18 +1550,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 - - if value is not 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 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") |