diff options
author | Ton Roosendaal <ton@blender.org> | 2012-10-26 15:29:30 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2012-10-26 15:29:30 +0400 |
commit | 13af773398a530cdcd3fbe0671146ae28f65fd19 (patch) | |
tree | e406be27f49a5ec2be69e324f5f2b8486bb75b31 /source/blender/makesrna | |
parent | 0e3de1df4bee62d12a347e74216afa2b42632070 (diff) |
Bugfix #32975
Shader nodes didn't redraw correct on preview-type changes.
Also made shader node previews draw nicely, without flashing empty images.
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_material.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c index 6c3270c8e99..5e8dda7c065 100644 --- a/source/blender/makesrna/intern/rna_material.c +++ b/source/blender/makesrna/intern/rna_material.c @@ -107,6 +107,17 @@ static void rna_Material_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *p } } +static void rna_Material_update_previews(Main *bmain, Scene *scene, PointerRNA *ptr) +{ + Material *ma = ptr->id.data; + + if (ma->nodetree) + ntreeClearPreview(ma->nodetree); + + rna_Material_update(bmain, scene, ptr); +} + + static void rna_Material_draw_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr) { Material *ma = ptr->id.data; @@ -1757,7 +1768,7 @@ void RNA_def_material(BlenderRNA *brna) RNA_def_property_enum_sdna(prop, NULL, "pr_type"); RNA_def_property_enum_items(prop, preview_type_items); RNA_def_property_ui_text(prop, "Preview render type", "Type of preview render"); - RNA_def_property_update(prop, 0, "rna_Material_update"); + RNA_def_property_update(prop, 0, "rna_Material_update_previews"); prop = RNA_def_property(srna, "ambient", PROP_FLOAT, PROP_FACTOR); RNA_def_property_float_sdna(prop, NULL, "amb"); |