Fix: Node editor context path for curves objects

The object data path item wasn't added properly.
Also remove some of the unnecessary variables and forward declarations.
This commit is contained in:
Hans Goudey 2022-08-17 11:11:28 -04:00
parent 224869acc5
commit 92493a5fa7
1 changed files with 14 additions and 17 deletions

View File

@ -28,27 +28,26 @@
#include "node_intern.hh"
struct Curve;
struct Light;
struct Material;
struct Mesh;
struct World;
namespace blender::ed::space_node {
static void context_path_add_object_data(Vector<ui::ContextPathItem> &path, Object &object)
{
if (object.type == OB_MESH && object.data) {
Mesh *mesh = (Mesh *)object.data;
ui::context_path_add_generic(path, RNA_Mesh, mesh);
if (!object.data) {
return;
}
if (object.type == OB_LAMP && object.data) {
Light *light = (Light *)object.data;
ui::context_path_add_generic(path, RNA_Light, light);
if (object.type == OB_MESH) {
ui::context_path_add_generic(path, RNA_Mesh, object.data);
}
if (ELEM(object.type, OB_CURVES_LEGACY, OB_FONT, OB_SURF) && object.data) {
Curve *curve = (Curve *)object.data;
ui::context_path_add_generic(path, RNA_Curve, curve);
else if (object.type == OB_CURVES) {
ui::context_path_add_generic(path, RNA_Curves, object.data);
}
else if (object.type == OB_LAMP) {
ui::context_path_add_generic(path, RNA_Light, object.data);
}
else if (ELEM(object.type, OB_CURVES_LEGACY, OB_FONT, OB_SURF)) {
ui::context_path_add_generic(path, RNA_Curve, object.data);
}
}
@ -71,8 +70,7 @@ static void get_context_path_node_shader(const bContext &C,
Scene *scene = CTX_data_scene(&C);
ui::context_path_add_generic(path, RNA_Scene, scene);
if (scene != nullptr) {
World *world = scene->world;
ui::context_path_add_generic(path, RNA_World, world);
ui::context_path_add_generic(path, RNA_World, scene->world);
}
/* Skip the base node tree here, because the world contains a node tree already. */
context_path_add_node_tree_and_node_groups(snode, path, true);
@ -95,8 +93,7 @@ static void get_context_path_node_shader(const bContext &C,
Scene *scene = CTX_data_scene(&C);
ui::context_path_add_generic(path, RNA_Scene, scene);
if (scene != nullptr) {
World *world = scene->world;
ui::context_path_add_generic(path, RNA_World, world);
ui::context_path_add_generic(path, RNA_World, scene->world);
}
}
#ifdef WITH_FREESTYLE