diff options
-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); } |