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:
Diffstat (limited to 'source/blender/editors/object/object_lattice.c')
-rw-r--r--source/blender/editors/object/object_lattice.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/source/blender/editors/object/object_lattice.c b/source/blender/editors/object/object_lattice.c
index 7b37ca8ab95..f6e8ccf4ec9 100644
--- a/source/blender/editors/object/object_lattice.c
+++ b/source/blender/editors/object/object_lattice.c
@@ -335,7 +335,7 @@ static BPoint *findnearestLattvert(ViewContext *vc, const int mval[2], int sel)
return data.bp;
}
-int mouse_lattice(bContext *C, const int mval[2], int extend)
+int mouse_lattice(bContext *C, const int mval[2], int extend, int deselect, int toggle)
{
ViewContext vc;
BPoint *bp = NULL;
@@ -344,12 +344,20 @@ int mouse_lattice(bContext *C, const int mval[2], int extend)
bp = findnearestLattvert(&vc, mval, 1);
if (bp) {
- if (extend == 0) {
- ED_setflagsLatt(vc.obedit, 0);
- bp->f1 |= SELECT;
+ if (extend) {
+ bp->f1 |= SELECT;
+ }
+ else if (deselect) {
+ bp->f1 &= ~SELECT;
+ }
+ else if (toggle) {
+ bp->f1 ^= SELECT; /* swap */
}
else
- bp->f1 ^= SELECT; /* swap */
+ {
+ ED_setflagsLatt(vc.obedit, 0);
+ bp->f1 |= SELECT;
+ }
WM_event_add_notifier(C, NC_GEOM | ND_SELECT, vc.obedit->data);