From 39c86385a35e8ae4c2eb5487464787d6fb15a782 Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 4 Jun 2005 17:51:49 +0000 Subject: [PATCH] Small UI bug: LEFT_RELEASEs were being thrown away completely if their coordinates were outside the playing area. Clearly no actual move should be made in that situation, but we do at least need to sort out any highlighted squares from the prior dragging operations. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@5911 cda61777-01e9-0310-a592-d414129be87e --- mines.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mines.c b/mines.c index 969c3ec..4b9620e 100644 --- a/mines.c +++ b/mines.c @@ -2490,11 +2490,12 @@ static game_state *make_move(game_state *from, game_ui *ui, game_drawstate *ds, cx = FROMCOORD(x); cy = FROMCOORD(y); - if (cx < 0 || cx >= from->w || cy < 0 || cy >= from->h) - return NULL; if (button == LEFT_BUTTON || button == LEFT_DRAG || button == MIDDLE_BUTTON || button == MIDDLE_DRAG) { + if (cx < 0 || cx >= from->w || cy < 0 || cy >= from->h) + return NULL; + /* * Mouse-downs and mouse-drags just cause highlighting * updates. @@ -2506,6 +2507,9 @@ static game_state *make_move(game_state *from, game_ui *ui, game_drawstate *ds, } if (button == RIGHT_BUTTON) { + if (cx < 0 || cx >= from->w || cy < 0 || cy >= from->h) + return NULL; + /* * Right-clicking only works on a covered square, and it * toggles between -1 (marked as mine) and -2 (not marked @@ -2532,6 +2536,8 @@ static game_state *make_move(game_state *from, game_ui *ui, game_drawstate *ds, * At this stage we must never return NULL: we have adjusted * the ui, so at worst we return `from'. */ + if (cx < 0 || cx >= from->w || cy < 0 || cy >= from->h) + return from; /* * Left-clicking on a covered square opens a tile. Not -- 2.11.0