X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/cebf0b0d2fe234f4888053189e235ab8be0a2fa4..72c158219fd9dbf19a01f2bf62303627a5e414e4:/grid.c diff --git a/grid.c b/grid.c index f7c6a5c..d7e6442 100644 --- a/grid.c +++ b/grid.c @@ -454,6 +454,14 @@ static void grid_trim_vigorously(grid *g) dots[i] = (dots[i] ? newdots++ : -1); /* + * Free the dynamically allocated 'dots' pointer lists in faces + * we're going to discard. + */ + for (i = 0; i < g->num_faces; i++) + if (faces[i] < 0) + sfree(g->faces[i].dots); + + /* * Go through and compact the arrays. */ for (i = 0; i < g->num_dots; i++) @@ -1559,9 +1567,11 @@ grid *grid_new_triangular(int width, int height, char *desc) f1->edges = NULL; f1->order = 3; f1->dots = snewn(f1->order, grid_dot*); + f1->has_incentre = FALSE; f2->edges = NULL; f2->order = 3; f2->dots = snewn(f2->order, grid_dot*); + f2->has_incentre = FALSE; /* face descriptions depend on whether the row-number is * odd or even */