- if (cmd.button() != mouse_button::button1)
- return;
-
- if (abs(cmd.x - first_x) < 2 && abs(cmd.y - first_y) < 2)
- return;
-
- first_x = cmd.x;
- first_y = cmd.y;
-
- cur.bv().cursor().setCursor(cur, true);
+ if (cmd.button() == mouse_button::button1) {
+ LCursor & bvcur = cur.bv().cursor();
+ if (abs(cmd.x - first_x) + abs(cmd.y - first_y) > 4
+ && bvcur.anchor_.hasPart(cur)) {
+ first_x = cmd.x;
+ first_y = cmd.y;
+
+ bvcur.setCursor(cur);
+ bvcur.selection() = true;
+ }
+ }