Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-09-03 16:43:15 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-09-03 16:43:15 +0300
commit545f565426562604eeaa84c6f098a4dda829ba0a (patch)
tree2ac43920ee429d67d50cdc7282ba359f4ef2213c /source/blender/draw/engines/select
parent8be800dcdf6e8c6855f27ae30d73ac1766978e14 (diff)
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.
Diffstat (limited to 'source/blender/draw/engines/select')
-rw-r--r--source/blender/draw/engines/select/select_draw_utils.c12
1 files changed, 9 insertions, 3 deletions
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 {