[Bf-blender-cvs] [545f5654265] master: Fix selection engine checks

Campbell Barton noreply at git.blender.org
Tue Sep 3 15:44:33 CEST 2019


Commit: 545f565426562604eeaa84c6f098a4dda829ba0a
Author: Campbell Barton
Date:   Tue Sep 3 23:43:15 2019 +1000
Branches: master
https://developer.blender.org/rB545f565426562604eeaa84c6f098a4dda829ba0a

Fix selection engine checks

- Don't use vertex selection in texture paint mode.
- Don't allow mixing vertex & face flags in vert/weight paint modes.

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

M	source/blender/draw/engines/select/select_draw_utils.c

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

diff --git a/source/blender/draw/engines/select/select_draw_utils.c b/source/blender/draw/engines/select/select_draw_utils.c
index ec47d6ea8eb..6a51c28c242 100644
--- a/source/blender/draw/engines/select/select_draw_utils.c
+++ b/source/blender/draw/engines/select/select_draw_utils.c
@@ -62,13 +62,19 @@ void select_id_object_min_max(Object *obj, float r_min[3], float r_max[3])
 short select_id_get_object_select_mode(Scene *scene, Object *ob)
 {
   short r_select_mode = 0;
-  if (ob->mode & (OB_MODE_WEIGHT_PAINT | OB_MODE_VERTEX_PAINT | OB_MODE_TEXTURE_PAINT)) {
+  if (ob->mode & (OB_MODE_WEIGHT_PAINT | OB_MODE_VERTEX_PAINT)) {
     Mesh *me_orig = DEG_get_original_object(ob)->data;
     if (me_orig->editflag & ME_EDIT_PAINT_FACE_SEL) {
       r_select_mode = SCE_SELECT_FACE;
     }
-    if (me_orig->editflag & ME_EDIT_PAINT_VERT_SEL) {
-      r_select_mode |= SCE_SELECT_VERTEX;
+    else if (me_orig->editflag & ME_EDIT_PAINT_VERT_SEL) {
+      r_select_mode = SCE_SELECT_VERTEX;
+    }
+  }
+  else if (ob->mode & OB_MODE_TEXTURE_PAINT) {
+    Mesh *me_orig = DEG_get_original_object(ob)->data;
+    if (me_orig->editflag & ME_EDIT_PAINT_FACE_SEL) {
+      r_select_mode = SCE_SELECT_FACE;
     }
   }
   else {



More information about the Bf-blender-cvs mailing list