diff --git a/source/blender/nodes/shader/nodes/node_shader_normal_map.cc b/source/blender/nodes/shader/nodes/node_shader_normal_map.cc index 9727f6d7ed6..b69a979c8b1 100644 --- a/source/blender/nodes/shader/nodes/node_shader_normal_map.cc +++ b/source/blender/nodes/shader/nodes/node_shader_normal_map.cc @@ -40,14 +40,16 @@ static void node_shader_buts_normal_map(uiLayout *layout, bContext *C, PointerRN if (obptr.data && RNA_enum_get(&obptr, "type") == OB_MESH) { PointerRNA eval_obptr; - Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C); - DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); - PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); - uiItemPointerR(layout, ptr, "uv_map", &dataptr, "uv_layers", "", ICON_GROUP_UVS); - } - else { - uiItemR(layout, ptr, "uv_map", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE); + Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C); + if (depsgraph) { + DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); + PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); + uiItemPointerR(layout, ptr, "uv_map", &dataptr, "uv_layers", "", ICON_GROUP_UVS); + return; + } } + + uiItemR(layout, ptr, "uv_map", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE); } } diff --git a/source/blender/nodes/shader/nodes/node_shader_tangent.cc b/source/blender/nodes/shader/nodes/node_shader_tangent.cc index 766e74c516a..1a1b67e4f9b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tangent.cc +++ b/source/blender/nodes/shader/nodes/node_shader_tangent.cc @@ -31,14 +31,16 @@ static void node_shader_buts_tangent(uiLayout *layout, bContext *C, PointerRNA * if (obptr.data && RNA_enum_get(&obptr, "type") == OB_MESH) { PointerRNA eval_obptr; - Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C); - DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); - PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); - uiItemPointerR(layout, ptr, "uv_map", &dataptr, "uv_layers", "", ICON_GROUP_UVS); - } - else { - uiItemR(layout, ptr, "uv_map", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_GROUP_UVS); + Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C); + if (depsgraph) { + DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); + PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); + uiItemPointerR(layout, ptr, "uv_map", &dataptr, "uv_layers", "", ICON_GROUP_UVS); + return; + } } + + uiItemR(layout, ptr, "uv_map", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_GROUP_UVS); } else { uiItemR( diff --git a/source/blender/nodes/shader/nodes/node_shader_uvmap.cc b/source/blender/nodes/shader/nodes/node_shader_uvmap.cc index fa9ba125974..47350608f35 100644 --- a/source/blender/nodes/shader/nodes/node_shader_uvmap.cc +++ b/source/blender/nodes/shader/nodes/node_shader_uvmap.cc @@ -33,11 +33,17 @@ static void node_shader_buts_uvmap(uiLayout *layout, bContext *C, PointerRNA *pt if (obptr.data && RNA_enum_get(&obptr, "type") == OB_MESH) { PointerRNA eval_obptr; - Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C); - DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); - PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); - uiItemPointerR(layout, ptr, "uv_map", &dataptr, "uv_layers", "", ICON_GROUP_UVS); + Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C); + + if (depsgraph) { + DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); + PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); + uiItemPointerR(layout, ptr, "uv_map", &dataptr, "uv_layers", "", ICON_GROUP_UVS); + return; + } } + + uiItemR(layout, ptr, "uv_map", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_GROUP_UVS); } } diff --git a/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc b/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc index 3003165dcc5..2b4e0a1d130 100644 --- a/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc +++ b/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc @@ -28,14 +28,16 @@ static void node_shader_buts_vertex_color(uiLayout *layout, bContext *C, Pointer if (obptr.data && RNA_enum_get(&obptr, "type") == OB_MESH) { PointerRNA eval_obptr; - Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C); - DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); - PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); - uiItemPointerR(layout, ptr, "layer_name", &dataptr, "color_attributes", "", ICON_GROUP_VCOL); - } - else { - uiItemL(layout, RPT_("No mesh in active object"), ICON_ERROR); + Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C); + if (depsgraph) { + DEG_get_evaluated_rna_pointer(depsgraph, &obptr, &eval_obptr); + PointerRNA dataptr = RNA_pointer_get(&eval_obptr, "data"); + uiItemPointerR(layout, ptr, "layer_name", &dataptr, "color_attributes", "", ICON_GROUP_VCOL); + } } + + uiItemR(layout, ptr, "layer_name", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_GROUP_VCOL); + uiItemL(layout, RPT_("No mesh in active object"), ICON_ERROR); } static void node_shader_init_vertex_color(bNodeTree * /*ntree*/, bNode *node)