diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-06-10 17:07:02 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-06-10 17:07:02 +0400 |
commit | 4863feb95640bffa0a2c250f1b9da13100643fd2 (patch) | |
tree | a8063e3ac241cd1917b38671f45109d5c50fd60c /source/blender/editors/mask/mask_shapekey.c | |
parent | 183629b451902e32c4840864da55bc3c055fd393 (diff) |
Changes to mask evaluation
- BKE_mask_update_scene was only used with do_newframe=FALSE,
removed this argument.
- Made it so BKE_mask_update_scene is able to handle LIB_ID_RECALC_DATA
case. Namely, if mask ID is tagged for data update it means shapekeys
will be re-evaluated (as if do_newframe=true).
If mask id only tagged for LIB_ID_RECALC, then no shapekey evaluation
happens (same as it used to behave before).
This means, doing DAG_id_tag_update(&mask->id, OB_RECALC_DATA) will
lead to shapekeys re-evaluation which is really needed in such
operators as clearing shapekeys (and cleaning shapekeys which is
in tomato branch yet).
This is a bit silly to use OB_RECALC_DATA sine mask is not an OB,
but could not see better way to do it now.
This fixes missing mask re-evaluation after clearing shapekey,
would expect no other functional changes.
Diffstat (limited to 'source/blender/editors/mask/mask_shapekey.c')
-rw-r--r-- | source/blender/editors/mask/mask_shapekey.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/editors/mask/mask_shapekey.c b/source/blender/editors/mask/mask_shapekey.c index c5b9fc33a9b..93bdca93096 100644 --- a/source/blender/editors/mask/mask_shapekey.c +++ b/source/blender/editors/mask/mask_shapekey.c @@ -124,7 +124,7 @@ static int mask_shape_key_clear_exec(bContext *C, wmOperator *UNUSED(op)) if (change) { WM_event_add_notifier(C, NC_MASK | ND_DATA, mask); - DAG_id_tag_update(&mask->id, 0); + DAG_id_tag_update(&mask->id, OB_RECALC_DATA); return OPERATOR_FINISHED; } |