[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