From 95225cf11057a985867f413f17871c53742eb5d0 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Mon, 17 Dec 2012 14:51:06 +0000 Subject: 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 --- source/blender/blenkernel/BKE_object.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/BKE_object.h') 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); -- cgit v1.2.3