Commit: bd64206e1ac828675aad3b16ffe6f4ecc6e6a409
Author: Brecht Van Lommel
Date:   Thu Jan 24 14:48:45 2019 +0100
Branches: master
https://developer.blender.org/rBbd64206e1ac828675aad3b16ffe6f4ecc6e6a409

Fix T59933: timeline keyframe display not updating when selecting objects.

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

M       source/blender/editors/space_action/space_action.c

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

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:

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to