[Bf-blender-cvs] [1b78f05b1ca] blender2.8: Merge branch 'master' into blender2.8
Campbell Barton
noreply at git.blender.org
Tue Apr 10 20:18:06 CEST 2018
Commit: 1b78f05b1ca466695b39d4fd60570790c1ab9e13
Author: Campbell Barton
Date: Tue Apr 10 20:17:56 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1b78f05b1ca466695b39d4fd60570790c1ab9e13
Merge branch 'master' into blender2.8
===================================================================
===================================================================
diff --cc source/blender/editors/animation/anim_channels_edit.c
index 2f9d32eadb6,8b922082fe8..4af8089ffea
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@@ -2725,8 -2720,8 +2725,8 @@@ static int mouse_anim_channels(bContex
adt->flag |= ADT_UI_ACTIVE;
/* ensure we exit editmode on whatever object was active before to avoid getting stuck there - T48747 */
- if (ob != sce->obedit)
+ if (ob != CTX_data_edit_object(C))
- ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR | EM_DO_UNDO);
+ ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO);
notifierFlags |= (ND_ANIMCHAN | NA_SELECTED);
}
diff --cc source/blender/editors/include/ED_object.h
index ebd9313f7c5,11dde2f5913..83119062203
--- a/source/blender/editors/include/ED_object.h
+++ b/source/blender/editors/include/ED_object.h
@@@ -119,13 -112,13 +119,14 @@@ struct Base *ED_object_add_duplicate(st
void ED_object_parent(struct Object *ob, struct Object *parent, const int type, const char *substr);
/* bitflags for enter/exit editmode */
- #define EM_FREEDATA 1
- #define EM_FREEUNDO 2
- #define EM_WAITCURSOR 4
- #define EM_DO_UNDO 8
- #define EM_IGNORE_LAYER 16
+ enum {
+ EM_FREEDATA = (1 << 0),
+ EM_WAITCURSOR = (1 << 1),
+ EM_DO_UNDO = (1 << 2),
+ EM_IGNORE_LAYER = (1 << 3),
+ };
-void ED_object_editmode_exit_ex(struct bContext *C, struct Scene *scene, struct Object *obedit, int flag);
+void ED_object_editmode_exit_ex(
+ struct bContext *C, struct Scene *scene, struct Object *obedit, int flag);
void ED_object_editmode_exit(struct bContext *C, int flag);
void ED_object_editmode_enter(struct bContext *C, int flag);
bool ED_object_editmode_load(struct Object *obedit);
diff --cc source/blender/editors/object/object_add.c
index bfeb48f9308,c6820c83f95..4334a80cd39
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@@ -432,15 -413,16 +432,15 @@@ Object *ED_object_add_type
/* for as long scene has editmode... */
if (CTX_data_edit_object(C))
- ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR | EM_DO_UNDO); /* freedata, and undo */
+ ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO); /* freedata, and undo */
/* deselects all, sets scene->basact */
- ob = BKE_object_add(bmain, scene, type, name);
- BASACT->lay = ob->lay = layer;
+ ob = BKE_object_add(bmain, scene, view_layer, type, name);
/* editor level activate, notifiers */
- ED_base_object_activate(C, BASACT);
+ ED_object_base_activate(C, view_layer->basact);
/* more editor stuff */
- ED_object_base_init_transform(C, BASACT, loc, rot);
+ ED_object_base_init_transform(C, view_layer->basact, loc, rot);
/* Ignore collisions by default for non-mesh objects */
if (type != OB_MESH) {
diff --cc source/blender/editors/space_outliner/outliner_select.c
index bfa8633ab7d,305afc206c4..6626eeb19f4
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@@ -194,8 -240,8 +194,8 @@@ static eOLDrawState tree_element_set_ac
}
}
- if (ob != scene->obedit)
+ if (ob != OBEDIT_FROM_VIEW_LAYER(view_layer))
- ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR | EM_DO_UNDO);
+ ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO);
return OL_DRAWSEL_NORMAL;
}
@@@ -667,8 -714,8 +667,8 @@@ static eOLDrawState tree_element_active
}
if (set != OL_SETSEL_NONE) {
- if (scene->obedit)
+ if (OBEDIT_FROM_VIEW_LAYER(view_layer))
- ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR | EM_DO_UNDO);
+ ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO);
if (ob->mode & OB_MODE_POSE)
ED_armature_exit_posemode(C, base);
diff --cc source/blender/editors/space_outliner/outliner_tools.c
index c19dcc0e1cb,e8275d597a6..735e2b5a37a
--- a/source/blender/editors/space_outliner/outliner_tools.c
+++ b/source/blender/editors/space_outliner/outliner_tools.c
@@@ -419,10 -417,10 +419,10 @@@ static void object_delete_cb
}
// check also library later
- if (scene->obedit == base->object)
+ if (ob == CTX_data_edit_object(C)) {
- ED_object_editmode_exit(C, EM_FREEDATA | EM_FREEUNDO | EM_WAITCURSOR | EM_DO_UNDO);
+ ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR | EM_DO_UNDO);
-
- ED_base_object_free_and_unlink(CTX_data_main(C), scene, base);
+ }
+ ED_object_base_free_and_unlink(CTX_data_main(C), scene, ob);
/* leave for ED_outliner_id_unref to handle */
#if 0
te->directdata = NULL;
More information about the Bf-blender-cvs
mailing list