diff options
Diffstat (limited to 'source/blender/editors/util/ed_util.c')
-rw-r--r-- | source/blender/editors/util/ed_util.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c index b3ec0a4388f..188d06cec55 100644 --- a/source/blender/editors/util/ed_util.c +++ b/source/blender/editors/util/ed_util.c @@ -130,7 +130,17 @@ void ED_editors_init(bContext *C) ED_object_posemode_enter_ex(bmain, ob); } else { - ED_object_mode_toggle(C, mode); + if (obact == ob) { + ED_object_mode_toggle(C, mode); + } + else { + /* Create data for non-active objects which need it for + * mode-switching but don't yet support multi-editing. */ + if (mode & OB_MODE_ALL_SCULPT) { + ob->mode = mode; + BKE_object_sculpt_data_create(ob); + } + } } } } |