[Bf-blender-cvs] [3c6f2af7641] greasepencil-object: Refresh cache when modifiers are changed

Antonio Vazquez noreply at git.blender.org
Sun Jul 16 17:43:29 CEST 2017


Commit: 3c6f2af7641419e5c79567b36f05a0d91ae6fef0
Author: Antonio Vazquez
Date:   Sun Jul 16 17:27:09 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB3c6f2af7641419e5c79567b36f05a0d91ae6fef0

Refresh cache when modifiers are changed

The draw cache must be set as dirty after move up/down or remove modifier

===================================================================

M	source/blender/editors/object/object_modifier.c

===================================================================

diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 4f253db211a..2b11f10ae65 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -906,6 +906,11 @@ static int modifier_remove_exec(bContext *C, wmOperator *op)
 			if (sl->basact && sl->basact->object == ob)
 				WM_event_add_notifier(C, NC_SCENE | ND_MODE | NS_MODE_OBJECT, NULL);
 	
+	/* if grease pencil, need refresh cache */
+	if (ob->type == OB_GPENCIL) {
+		BKE_gpencil_batch_cache_dirty(ob->gpd);
+	}
+
 	return OPERATOR_FINISHED;
 }
 
@@ -944,7 +949,12 @@ static int modifier_move_up_exec(bContext *C, wmOperator *op)
 
 	DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 	WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob);
-	
+
+	/* if grease pencil, need refresh cache */
+	if (ob->type == OB_GPENCIL) {
+		BKE_gpencil_batch_cache_dirty(ob->gpd);
+	}
+
 	return OPERATOR_FINISHED;
 }
 
@@ -983,7 +993,12 @@ static int modifier_move_down_exec(bContext *C, wmOperator *op)
 
 	DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 	WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob);
-	
+
+	/* if grease pencil, need refresh cache */
+	if (ob->type == OB_GPENCIL) {
+		BKE_gpencil_batch_cache_dirty(ob->gpd);
+	}
+
 	return OPERATOR_FINISHED;
 }
 
@@ -1114,7 +1129,12 @@ static int modifier_copy_exec(bContext *C, wmOperator *op)
 
 	DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 	WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob);
-	
+
+	/* if grease pencil, need refresh cache */
+	if (ob->type == OB_GPENCIL) {
+		BKE_gpencil_batch_cache_dirty(ob->gpd);
+	}
+
 	return OPERATOR_FINISHED;
 }




More information about the Bf-blender-cvs mailing list