diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-01-22 08:00:31 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-01-22 08:00:31 +0300 |
commit | 141f17eaf4af89b434141715bffae348bfc4f4d2 (patch) | |
tree | 69ad554d8a9a96d02973ddfc6b5830c006e7eb58 /source/blender/editors/animation | |
parent | 1a30687c24be7899d0835d4c3572d7dc0f1a5656 (diff) |
Fix dope-sheet exiting edit-mode when activating an object
Regression from d8992192e5512380f57433df113f3e3f8b22f7cb
The original code relied on having a separate edit-object pointer
than the active object.
Diffstat (limited to 'source/blender/editors/animation')
-rw-r--r-- | source/blender/editors/animation/anim_channels_edit.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index a7d02c0e6fb..a6e96a4d919 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -2988,18 +2988,16 @@ static int click_select_channel_object(bContext *C, } } - /* change active object - regardless of whether it is now selected [T37883] */ - ED_object_base_activate(C, base); /* adds notifier */ + /* Change active object - regardless of whether it is now selected, see: T37883. + * + * Ensure we exit edit-mode on whatever object was active before + * to avoid getting stuck there, see: T48747. */ + ED_object_base_activate_with_mode_exit_if_needed(C, base); /* adds notifier */ if ((adt) && (adt->flag & ADT_UI_SELECTED)) { adt->flag |= ADT_UI_ACTIVE; } - /* Ensure we exit editmode on whatever object was active before - * to avoid getting stuck there - T48747. */ - if (ob != CTX_data_edit_object(C)) { - ED_object_editmode_exit(C, EM_FREEDATA); - } return (ND_ANIMCHAN | NA_SELECTED); } |