[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