[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