diff options
author | Ton Roosendaal <ton@blender.org> | 2012-12-17 18:51:06 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2012-12-17 18:51:06 +0400 |
commit | 95225cf11057a985867f413f17871c53742eb5d0 (patch) | |
tree | 9c8ca685b210011cbad0900edc0c2ff36e8f724b /source/blender/blenkernel/BKE_object.h | |
parent | bf51b85871dd424d8481eb09a9fc217955ed35b1 (diff) |
Bug fix, IRC report.
With 2 windows, 2 scenes, linked objects:
- enter editmode in 1 window.
- the other window allowed to enter editmode too.
- and crash happened on exit editmode.
Since editmode is in Context (scene->obedit) a bad conflict arises.
New function BKE_object_is_in_editmode() returns this info outside of
context. Note I didn't use BMEdit_FromObject() because of the assert().
NOTE: contextual storage of editmode could need rework... five places:
- ob->mode / ob->restore_mode
- scene->object
- CTX_data_edit_object()
- BKE_object_is_in_editmode()
- view3d mode handling menu
Diffstat (limited to 'source/blender/blenkernel/BKE_object.h')
-rw-r--r-- | source/blender/blenkernel/BKE_object.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 65b3b194553..885bb6f2a26 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -76,7 +76,8 @@ void BKE_object_copy_proxy_drivers(struct Object *ob, struct Object *target); void BKE_object_unlink(struct Object *ob); int BKE_object_exists_check(struct Object *obtest); - +int BKE_object_is_in_editmode(struct Object *ob); + struct Object *BKE_object_add_only_object(int type, const char *name); struct Object *BKE_object_add(struct Scene *scene, int type); void *BKE_object_obdata_add_from_type(int type); |