[Bf-blender-cvs] [ad50e0f7ca1] greasepencil-object: Merge branch 'blender2.8' into greasepencil-object

Antonio Vazquez noreply at git.blender.org
Fri Feb 16 16:54:06 CET 2018


Commit: ad50e0f7ca124a644c5c5ac747e34a59ae0230a1
Author: Antonio Vazquez
Date:   Fri Feb 16 16:53:38 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rBad50e0f7ca124a644c5c5ac747e34a59ae0230a1

Merge branch 'blender2.8' into greasepencil-object

===================================================================



===================================================================

diff --cc source/blender/editors/object/object_select.c
index 37bd1e52560,8a62438dc80..9f454de1e88
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@@ -137,8 -138,55 +139,55 @@@ void ED_object_base_activate(bContext *
  	}
  
  	eObjectMode object_mode = workspace->object_mode;
+ 
+ 	{
+ 		Scene *scene = CTX_data_scene(C);
+ 		/* We don't know the previous active object in update.
+ 		 *
+ 		 * Not correct because it's possible other work-spaces use these.
+ 		 * although that's a corner case. */
+ 		if (workspace->object_mode & OB_MODE_EDIT) {
+ 			FOREACH_OBJECT(view_layer, ob) {
+ 				if (ob != base->object) {
+ 					if (BKE_object_is_in_editmode(ob)) {
+ 						ED_object_editmode_exit_ex(NULL, workspace, scene, ob, EM_FREEDATA);
+ 					}
+ 				}
+ 			}
+ 			FOREACH_OBJECT_END;
+ 		}
+ 		else if (workspace->object_mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_SCULPT)) {
+ 			EvaluationContext eval_ctx;
+ 			CTX_data_eval_ctx(C, &eval_ctx);
+ 			FOREACH_OBJECT(view_layer, ob) {
+ 				if (ob != base->object) {
+ 					if (ob->sculpt) {
+ 						switch (ob->sculpt->mode_type) {
+ 							case OB_MODE_VERTEX_PAINT:
+ 							{
+ 								ED_object_vpaintmode_exit_ex(workspace, ob);
+ 								break;
+ 							}
+ 							case OB_MODE_WEIGHT_PAINT:
+ 							{
+ 								ED_object_wpaintmode_exit_ex(workspace, ob);
+ 								break;
+ 							}
+ 							case OB_MODE_SCULPT:
+ 							{
+ 								ED_object_sculptmode_exit_ex(&eval_ctx, workspace, scene, ob);
+ 								break;
+ 							}
+ 						}
+ 					}
+ 				}
+ 			}
+ 			FOREACH_OBJECT_END;
+ 		}
+ 	}
+ 
  	workspace->object_mode = OB_MODE_OBJECT;
 -
 +	
  	view_layer->basact = base;
  
  	if (reset == false) {



More information about the Bf-blender-cvs mailing list