[Bf-blender-cvs] [62cc4edf969] greasepencil-object: GPencil: Fix missing tag when change a material
Antonio Vazquez
noreply at git.blender.org
Thu Feb 27 20:13:22 CET 2020
Commit: 62cc4edf9695744b4206d32cb9e1566ba998a4a2
Author: Antonio Vazquez
Date: Thu Feb 27 20:12:55 2020 +0100
Branches: greasepencil-object
https://developer.blender.org/rB62cc4edf9695744b4206d32cb9e1566ba998a4a2
GPencil: Fix missing tag when change a material
The new draw engine need to tag all GP Objects.
===================================================================
M source/blender/makesrna/intern/rna_material.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index fd121e625c0..f206e0061fc 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -63,6 +63,7 @@ const EnumPropertyItem rna_enum_ramp_blend_items[] = {
# include "MEM_guardedalloc.h"
+# include "DNA_gpencil_types.h"
# include "DNA_node_types.h"
# include "DNA_object_types.h"
# include "DNA_screen_types.h"
@@ -111,8 +112,16 @@ static void rna_Material_update_previews(Main *UNUSED(bmain),
static void rna_MaterialGpencil_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Material *ma = (Material *)ptr->owner_id;
-
rna_Material_update(bmain, scene, ptr);
+
+ /* Need set all caches as dirty. */
+ for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) {
+ if (ob->type == OB_GPENCIL) {
+ bGPdata *gpd = (bGPdata *)ob->data;
+ DEG_id_tag_update(&gpd->id, ID_RECALC_GEOMETRY);
+ }
+ }
+
WM_main_add_notifier(NC_GPENCIL | ND_DATA, ma);
}
More information about the Bf-blender-cvs
mailing list