mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
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]
This commit is contained in:
25
rect.c
25
rect.c
@ -1009,8 +1009,11 @@ game_state *make_move(game_state *from, game_ui *ui, int x, int y, int button)
|
|||||||
active = TRUE;
|
active = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enddrag && (xc >= 0 && xc <= 2*from->w &&
|
ret = NULL;
|
||||||
yc >= 0 && yc <= 2*from->h)) {
|
|
||||||
|
if (enddrag) {
|
||||||
|
if (xc >= 0 && xc <= 2*from->w &&
|
||||||
|
yc >= 0 && yc <= 2*from->h) {
|
||||||
ret = dup_game(from);
|
ret = dup_game(from);
|
||||||
|
|
||||||
if (ui->dragged) {
|
if (ui->dragged) {
|
||||||
@ -1024,22 +1027,26 @@ game_state *make_move(game_state *from, game_ui *ui, int x, int y, int button)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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_x = -1;
|
||||||
ui->drag_start_y = -1;
|
ui->drag_start_y = -1;
|
||||||
ui->drag_end_x = -1;
|
ui->drag_end_x = -1;
|
||||||
ui->drag_end_y = -1;
|
ui->drag_end_y = -1;
|
||||||
ui->dragged = FALSE;
|
ui->dragged = FALSE;
|
||||||
active = TRUE;
|
active = TRUE;
|
||||||
|
|
||||||
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 (active)
|
if (ret)
|
||||||
|
return ret; /* a move has been made */
|
||||||
|
else if (active)
|
||||||
return from; /* UI activity has occurred */
|
return from; /* UI activity has occurred */
|
||||||
|
else
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user