Fix T52392: Node materials (Materials and World) not updated in viewport
Depsgraph was not updated after you used "Use Nodes" to create the nodetree.
This commit is contained in:
parent
220fbddc8b
commit
005cb90113
Notes:
blender-bot
2023-02-14 06:41:41 +01:00
Referenced by issue #52392, blender 2.8: Node materials (Materials and World) not updated in viewport
|
@ -93,6 +93,7 @@ const EnumPropertyItem rna_enum_ramp_blend_items[] = {
|
|||
#include "BKE_paint.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
#include "DEG_depsgraph_build.h"
|
||||
|
||||
#include "ED_node.h"
|
||||
#include "ED_image.h"
|
||||
|
@ -339,11 +340,13 @@ static void rna_Material_use_specular_ramp_set(PointerRNA *ptr, int value)
|
|||
static void rna_Material_use_nodes_update(bContext *C, PointerRNA *ptr)
|
||||
{
|
||||
Material *ma = (Material *)ptr->data;
|
||||
Main *bmain = CTX_data_main(C);
|
||||
|
||||
if (ma->use_nodes && ma->nodetree == NULL)
|
||||
ED_node_shader_default(C, &ma->id);
|
||||
|
||||
rna_Material_draw_update(CTX_data_main(C), CTX_data_scene(C), ptr);
|
||||
|
||||
DEG_relations_tag_update(bmain);
|
||||
rna_Material_draw_update(bmain, CTX_data_scene(C), ptr);
|
||||
}
|
||||
|
||||
static const EnumPropertyItem *rna_Material_texture_coordinates_itemf(bContext *UNUSED(C), PointerRNA *ptr,
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "BKE_texture.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
#include "DEG_depsgraph_build.h"
|
||||
|
||||
#include "ED_node.h"
|
||||
|
||||
|
@ -115,12 +116,15 @@ static void rna_World_draw_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Poi
|
|||
static void rna_World_use_nodes_update(bContext *C, PointerRNA *ptr)
|
||||
{
|
||||
World *wrld = (World *)ptr->data;
|
||||
Main *bmain = CTX_data_main(C);
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
|
||||
if (wrld->use_nodes && wrld->nodetree == NULL)
|
||||
ED_node_shader_default(C, &wrld->id);
|
||||
|
||||
rna_World_update(CTX_data_main(C), CTX_data_scene(C), ptr);
|
||||
rna_World_draw_update(CTX_data_main(C), CTX_data_scene(C), ptr);
|
||||
|
||||
DEG_relations_tag_update(bmain);
|
||||
rna_World_update(bmain, scene, ptr);
|
||||
rna_World_draw_update(bmain, scene, ptr);
|
||||
}
|
||||
|
||||
#else
|
||||
|
|
Loading…
Reference in New Issue