shithub: puzzles

Download patch

ref: 8628a0630c16bc01c1370a6cb15412dd27c33332
parent: 97477f0916bd6aa9a746310e9566158d389b82d5
author: Simon Tatham <anakin@pobox.com>
date: Thu Dec 17 13:20:32 EST 2009

Minor bug fixes from James Harvey.

[originally from svn r8785]

--- a/blackbox.c
+++ b/blackbox.c
@@ -1302,7 +1302,7 @@
         draw_rect_outline(dr, dx, dy, TILE_SIZE, TILE_SIZE, COL_GRID);
 
         if (gs_tile &~ (LASER_WRONG | LASER_OMITTED | FLAG_CURSOR)) {
-            char str[10];
+            char str[32];
             int tcol = flash ? COL_FLASHTEXT : omitted ? COL_WRONG : COL_TEXT;
 
             if (reflect || hit)
--- a/bridges.c
+++ b/bridges.c
@@ -2479,7 +2479,7 @@
 #ifdef DRAW_DSF
     int ts = TILE_SIZE/2;
     int ox = COORD(x) + ts/2, oy = COORD(y) + ts/2;
-    char str[10];
+    char str[32];
 
     sprintf(str, "%d", dsf_canonify(state->solver->dsf, DINDEX(x,y)));
     draw_text(dr, ox, oy, FONT_VARIABLE, ts,
@@ -2556,7 +2556,7 @@
     int col = (v & G_ISSEL) ? COL_SELECTED : tcol;
     int bg = (v & G_CURSOR) ? COL_CURSOR :
         (v & G_MARK) ? COL_MARK : COL_BACKGROUND;
-    char str[10];
+    char str[32];
 
 #ifdef DRAW_GRID
     draw_rect_outline(dr, COORD(is->x), COORD(is->y),
@@ -2759,7 +2759,7 @@
 
     /* Islands */
     for (i = 0; i < state->n_islands; i++) {
-        char str[10];
+        char str[32];
         struct island *is = &state->islands[i];
         grid = GRID(state, is->x, is->y);
         cx = COORD(is->x) + ts/2;
--- a/lightup.c
+++ b/lightup.c
@@ -2066,7 +2066,7 @@
         draw_rect(dr, dx, dy, TILE_SIZE, TILE_SIZE, COL_BLACK);
         if (ds_flags & DF_NUMBERED) {
             int ccol = (ds_flags & DF_NUMBERWRONG) ? COL_ERROR : COL_LIGHT;
-            char str[10];
+            char str[32];
 
             /* We know that this won't change over the course of the game
              * so it's OK to ignore this when calculating whether or not
@@ -2214,7 +2214,7 @@
 	    if (ds_flags & DF_BLACK) {
 		draw_rect(dr, dx, dy, TILE_SIZE, TILE_SIZE, ink);
 		if (ds_flags & DF_NUMBERED) {
-		    char str[10];
+		    char str[32];
 		    sprintf(str, "%d", GRID(state, lights, x, y));
 		    draw_text(dr, dx + TILE_SIZE/2, dy + TILE_SIZE/2,
 			      FONT_VARIABLE, TILE_SIZE*3/5,
--- a/loopy.c
+++ b/loopy.c
@@ -3609,7 +3609,7 @@
     game_drawstate ads, *ds = &ads;
     grid *g = state->game_grid;
 
-    game_set_size(dr, ds, NULL, tilesize);
+    ds->tilesize = tilesize;
 
     for (i = 0; i < g->num_dots; i++) {
         int x, y;
--- a/windows.c
+++ b/windows.c
@@ -3397,6 +3397,7 @@
 	DispatchMessage(&msg);
     }
 
+    DestroyWindow(fe->hwnd);
     cleanup_help();
 
     return msg.wParam;