Patch from Chris Moore to improve the generality of
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 23 Feb 2011 20:05:40 +0000 (20:05 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Wed, 23 Feb 2011 20:05:40 +0000 (20:05 +0000)
grid_nearest_edge(), by having it search harder for a better dot to
move to in the first loop.

git-svn-id: svn://svn.tartarus.org/sgt/puzzles@9106 cda61777-01e9-0310-a592-d414129be87e

grid.c

diff --git a/grid.c b/grid.c
index dcc384a..1415e61 100644 (file)
--- a/grid.c
+++ b/grid.c
@@ -141,13 +141,11 @@ grid_edge *grid_nearest_edge(grid *g, int x, int y)
                 grid_dot *d = f->dots[j];
                 if (d == cur) continue;
                 new_dist = SQ((long)d->x - (long)x) + SQ((long)d->y - (long)y);
-                if (new_dist < dist) {
+                if (new_dist < dist) { /* found closer dot */
                     new = d;
-                    break; /* found closer dot */
+                    dist = new_dist;
                 }
             }
-            if (new != cur)
-                break; /* found closer dot */
         }
 
         if (new == cur) {