ref: eb8a374d0dd263953647067ec26b1fc33661d3f5
parent: e5d773604fb5bd14e0814bfea88851313bd56e93
	author: Simon Tatham <anakin@pobox.com>
	date: Tue May 11 14:32:48 EDT 2004
	
We should turn off the dragging variables in the UI _whenever_ `enddrag' is TRUE, not just when the end of the drag was within a sensible range. [originally from svn r4210]
--- a/rect.c
+++ b/rect.c
@@ -1009,38 +1009,45 @@
active = TRUE;
}
- if (enddrag && (xc >= 0 && xc <= 2*from->w &&
-                    yc >= 0 && yc <= 2*from->h)) {- ret = dup_game(from);
+ ret = NULL;
-        if (ui->dragged) {- ui_draw_rect(ret, ui, ret->hedge, ret->vedge, 1);
-        } else {-            if ((xc & 1) && !(yc & 1) && HRANGE(from,xc/2,yc/2)) {- hedge(ret,xc/2,yc/2) = !hedge(ret,xc/2,yc/2);
- }
-            if ((yc & 1) && !(xc & 1) && VRANGE(from,xc/2,yc/2)) {- vedge(ret,xc/2,yc/2) = !vedge(ret,xc/2,yc/2);
- }
- }
+    if (enddrag) {+ if (xc >= 0 && xc <= 2*from->w &&
+	    yc >= 0 && yc <= 2*from->h) {+ ret = dup_game(from);
- ui->drag_start_x = -1;
- ui->drag_start_y = -1;
- ui->drag_end_x = -1;
- ui->drag_end_y = -1;
- ui->dragged = FALSE;
- active = TRUE;
+	    if (ui->dragged) {+ ui_draw_rect(ret, ui, ret->hedge, ret->vedge, 1);
+	    } else {+		if ((xc & 1) && !(yc & 1) && HRANGE(from,xc/2,yc/2)) {+ hedge(ret,xc/2,yc/2) = !hedge(ret,xc/2,yc/2);
+ }
+		if ((yc & 1) && !(xc & 1) && VRANGE(from,xc/2,yc/2)) {+ vedge(ret,xc/2,yc/2) = !vedge(ret,xc/2,yc/2);
+ }
+ }
- if (!memcmp(ret->hedge, from->hedge, from->w*from->h) &&
-            !memcmp(ret->vedge, from->vedge, from->w*from->h)) {- free_game(ret);
- } else
- return ret; /* a move has been made */
+ if (!memcmp(ret->hedge, from->hedge, from->w*from->h) &&
+		!memcmp(ret->vedge, from->vedge, from->w*from->h)) {+ free_game(ret);
+ ret = NULL;
+ }
+ }
+
+ ui->drag_start_x = -1;
+ ui->drag_start_y = -1;
+ ui->drag_end_x = -1;
+ ui->drag_end_y = -1;
+ ui->dragged = FALSE;
+ active = TRUE;
}
- if (active)
+ if (ret)
+ return ret; /* a move has been made */
+ else if (active)
return from; /* UI activity has occurred */
- return NULL;
+ else
+ return NULL;
}
/* ----------------------------------------------------------------------
--
⑨