diff options
author | Joshua Leung <aligorith@gmail.com> | 2014-04-24 06:26:53 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2014-04-24 06:29:10 +0400 |
commit | 1fabfc9ea2c7b36f0827269fcf07d162a879a227 (patch) | |
tree | 84f3bf68bee9ad2bea375b06fb43d3b4a452a2bf /source/blender/editors/animation/keyframing.c | |
parent | 8cee587bcb44b24cc17a9d6527a63d19dade4e5d (diff) |
Fix T39851: F-curve noise modifier on a bone: change selection when modifying value
When the dopesheet was open, "keyframe edited" events from the graph editor
(i.e. fired whenever any properties on keyframes or FModifiers are changed)
would trigger the dopesheet to synchronise selection states of anim channels
and ensure that FCurve autocolours are initialised correctly.
This however was undesired when editing properties in the graph editor. Now,
made it so that keyframe adding/removing operators use different notifier flags
to specify that the channels might have changed + need colour syncing, and
adjusted the dopesheet updating logic to fit
Diffstat (limited to 'source/blender/editors/animation/keyframing.c')
-rw-r--r-- | source/blender/editors/animation/keyframing.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c index 72402d498ba..a17fec52a1c 100644 --- a/source/blender/editors/animation/keyframing.c +++ b/source/blender/editors/animation/keyframing.c @@ -1304,7 +1304,7 @@ static int insert_key_exec(bContext *C, wmOperator *op) BKE_reportf(op->reports, RPT_INFO, "Successfully added %d keyframes for keying set '%s'", success, ks->name); /* send notifiers that keyframes have been changed */ - WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); + WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_ADDED, NULL); } else BKE_report(op->reports, RPT_WARNING, "Keying set failed to insert any keyframes"); @@ -1456,7 +1456,7 @@ static int delete_key_exec(bContext *C, wmOperator *op) BKE_reportf(op->reports, RPT_INFO, "Successfully removed %d keyframes for keying set '%s'", success, ks->name); /* send notifiers that keyframes have been changed */ - WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); + WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_REMOVED, NULL); } else BKE_report(op->reports, RPT_WARNING, "Keying set failed to remove any keyframes"); @@ -1709,7 +1709,7 @@ static int insert_key_button_exec(bContext *C, wmOperator *op) uiContextAnimUpdate(C); /* send notifiers that keyframes have been changed */ - WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); + WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_ADDED, NULL); } return (success) ? OPERATOR_FINISHED : OPERATOR_CANCELLED; @@ -1780,7 +1780,7 @@ static int delete_key_button_exec(bContext *C, wmOperator *op) uiContextAnimUpdate(C); /* send notifiers that keyframes have been changed */ - WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); + WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_REMOVED, NULL); } return (success) ? OPERATOR_FINISHED : OPERATOR_CANCELLED; @@ -1850,7 +1850,7 @@ static int clear_key_button_exec(bContext *C, wmOperator *op) uiContextAnimUpdate(C); /* send notifiers that keyframes have been changed */ - WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); + WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_REMOVED, NULL); } return (success) ? OPERATOR_FINISHED : OPERATOR_CANCELLED; |