From 141f17eaf4af89b434141715bffae348bfc4f4d2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Jan 2021 16:00:31 +1100 Subject: 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. --- source/blender/editors/animation/anim_channels_edit.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'source/blender') 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); } -- cgit v1.2.3