diff options
author | Thomas Beck <software@plasmasolutions.de> | 2014-01-08 20:50:25 +0400 |
---|---|---|
committer | Thomas Beck <software@plasmasolutions.de> | 2014-01-08 20:57:33 +0400 |
commit | fa88c7ffae0cfca83b8ec3daaba6c3cc39f9ae34 (patch) | |
tree | 0275ef87151ff62da530367eb61d8610ffc9808d /source/blender/editors/space_action | |
parent | 09d6ad614242ff007bf952ce815082b2eafb024c (diff) |
Fix T38105: Action Editor refresh is missing when a keyframe is inserted in 3D view
When yiz insert a keyframe (on a location keying set f.e.) in the 3D-view and you got an action editor open then the action datablock is not changed (displaying only the button "new") until you hover the action editor with the mouse.
Added a handler in the action_header_area_listener to handle this case
If non-obvious, some technical note about what the cause of the bug was and
how it was solved.
Diffstat (limited to 'source/blender/editors/space_action')
-rw-r--r-- | source/blender/editors/space_action/space_action.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c index fdccedd9c3c..990af78c00d 100644 --- a/source/blender/editors/space_action/space_action.c +++ b/source/blender/editors/space_action/space_action.c @@ -450,8 +450,11 @@ static void action_listener(bScreen *UNUSED(sc), ScrArea *sa, wmNotifier *wmn) } } -static void action_header_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) +static void action_header_area_listener(bScreen *UNUSED(sc), ScrArea *sa, ARegion *ar, wmNotifier *wmn) { + + SpaceAction *saction = (SpaceAction *)sa->spacedata.first; + /* context changes */ switch (wmn->category) { case NC_SCENE: @@ -465,7 +468,16 @@ static void action_header_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa) if (wmn->action == NA_RENAME) ED_region_tag_redraw(ar); break; + case NC_ANIMATION: + switch (wmn->data) { + case ND_KEYFRAME: + saction->flag |= SACTION_TEMP_NEEDCHANSYNC; + ED_region_tag_redraw(ar); + break; + } + break; } + } static void action_refresh(const bContext *C, ScrArea *sa) |