diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-01-09 02:16:51 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-01-09 02:21:51 +0300 |
commit | b536d1b95f01de9400d77dbaf311677222063178 (patch) | |
tree | eb2dd3502c70a35b18fa08af006dc5d98930d782 /source/blender/blenkernel | |
parent | 1b6b0fbd957f70ea177dbfd431ec2a2ba2d0daa6 (diff) |
Object Mode: only toggle active object mode once
- When toggling a mode that doesn't support multi editing
only do this once of the active object.
- For sculpt mode create sculpt data since this is needed
for activating other sculpt objects on reload.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_object.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 329be174632..3348131cc4b 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -293,6 +293,8 @@ void BKE_object_handle_update_ex( const bool do_proxy_update); void BKE_object_sculpt_modifiers_changed(struct Object *ob); +void BKE_object_sculpt_data_create(struct Object *ob); + int BKE_object_obdata_texspace_get(struct Object *ob, short **r_texflag, float **r_loc, float **r_size, float **r_rot); struct Mesh *BKE_object_get_evaluated_mesh(const struct Depsgraph *depsgraph, struct Object *ob); diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 78e22c203ab..62f5b018545 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2959,6 +2959,13 @@ void BKE_object_handle_update(Depsgraph *depsgraph, Scene *scene, Object *ob) BKE_object_handle_update_ex(depsgraph, scene, ob, NULL, true); } +void BKE_object_sculpt_data_create(Object *ob) +{ + BLI_assert(ob->mode & OB_MODE_ALL_SCULPT); + ob->sculpt = MEM_callocN(sizeof(SculptSession), __func__); + ob->sculpt->mode_type = ob->mode; +} + void BKE_object_sculpt_modifiers_changed(Object *ob) { SculptSession *ss = ob->sculpt; |