Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-24 16:48:45 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-24 17:01:54 +0300
commitbd64206e1ac828675aad3b16ffe6f4ecc6e6a409 (patch)
tree438c474ec58e26afed9e8f09a9a4b7ff8beedc4c /source/blender/editors/space_action
parenta4a60358b55d0b42dec425a5dc49ed660e5bbdfb (diff)
Fix T59933: timeline keyframe display not updating when selecting objects.
Diffstat (limited to 'source/blender/editors/space_action')
-rw-r--r--source/blender/editors/space_action/space_action.c59
1 files changed, 24 insertions, 35 deletions
diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c
index b89472cb625..814d99d423c 100644
--- a/source/blender/editors/space_action/space_action.c
+++ b/source/blender/editors/space_action/space_action.c
@@ -570,44 +570,33 @@ static void action_listener(
}
break;
case NC_SCENE:
- if (saction->mode == SACTCONT_TIMELINE) {
- switch (wmn->data) {
- case ND_RENDER_RESULT:
- ED_area_tag_redraw(sa);
- break;
- case ND_OB_ACTIVE:
- case ND_FRAME:
- ED_area_tag_refresh(sa);
- break;
- case ND_FRAME_RANGE:
- {
- ARegion *ar;
- Scene *scene = wmn->reference;
-
- for (ar = sa->regionbase.first; ar; ar = ar->next) {
- if (ar->regiontype == RGN_TYPE_WINDOW) {
- ar->v2d.tot.xmin = (float)(SFRA - 4);
- ar->v2d.tot.xmax = (float)(EFRA + 4);
- break;
- }
+ switch (wmn->data) {
+ case ND_OB_ACTIVE:
+ case ND_OB_SELECT:
+ /* Selection changed, so force refresh to flush
+ * (needs flag set to do syncing). */
+ saction->runtime.flag |= SACTION_RUNTIME_FLAG_NEED_CHAN_SYNC;
+ ED_area_tag_refresh(sa);
+ break;
+ case ND_RENDER_RESULT:
+ ED_area_tag_redraw(sa);
+ break;
+ case ND_FRAME_RANGE:
+ for (ARegion *ar = sa->regionbase.first; ar; ar = ar->next) {
+ if (ar->regiontype == RGN_TYPE_WINDOW) {
+ Scene *scene = wmn->reference;
+ ar->v2d.tot.xmin = (float)(SFRA - 4);
+ ar->v2d.tot.xmax = (float)(EFRA + 4);
+ break;
}
- break;
}
- }
- }
- else {
- switch (wmn->data) {
- case ND_OB_ACTIVE: /* selection changed, so force refresh to flush
- * (needs flag set to do syncing) */
- case ND_OB_SELECT:
- saction->runtime.flag |= SACTION_RUNTIME_FLAG_NEED_CHAN_SYNC;
- ED_area_tag_refresh(sa);
- break;
-
- default: /* just redrawing the view will do */
+ break;
+ default:
+ if (saction->mode != SACTCONT_TIMELINE) {
+ /* Just redrawing the view will do. */
ED_area_tag_redraw(sa);
- break;
- }
+ }
+ break;
}
break;
case NC_OBJECT: