Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-01-22 08:00:31 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-01-22 08:00:31 +0300
commit141f17eaf4af89b434141715bffae348bfc4f4d2 (patch)
tree69ad554d8a9a96d02973ddfc6b5830c006e7eb58
parent1a30687c24be7899d0835d4c3572d7dc0f1a5656 (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.
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c12
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);
}