chiark / gitweb /
Minor bug fixes from James Harvey.
authorSimon Tatham <anakin@pobox.com>
Thu, 17 Dec 2009 18:20:32 +0000 (18:20 +0000)
committerSimon Tatham <anakin@pobox.com>
Thu, 17 Dec 2009 18:20:32 +0000 (18:20 +0000)
[originally from svn r8785]

blackbox.c
bridges.c
lightup.c
loopy.c
windows.c

index 1d65ddc065bc4b278671fcc1a76b289dc1a90c32..7d5a77d0b3e66af6594cde090876fa370f26d14d 100644 (file)
@@ -1302,7 +1302,7 @@ static void draw_laser_tile(drawing *dr, game_state *gs, game_drawstate *ds,
         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)
index 64501ef5119fb820a51f31157a844bbb8639b36d..5bb73f468d63c9d37d46f88e8d2d15025af608b1 100644 (file)
--- a/bridges.c
+++ b/bridges.c
@@ -2479,7 +2479,7 @@ static void dsf_debug_draw(drawing *dr,
 #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 @@ static void island_redraw(drawing *dr,
     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 @@ static void game_print(drawing *dr, game_state *state, int ts)
 
     /* 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;
index 75a6219b976f3c2ba372040951817e8b00419566..20e9cecddee09973e0506211db890155ffceef5e 100644 (file)
--- a/lightup.c
+++ b/lightup.c
@@ -2066,7 +2066,7 @@ static void tile_redraw(drawing *dr, game_drawstate *ds, game_state *state,
         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 @@ static void game_print(drawing *dr, game_state *state, int tilesize)
            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,
diff --git a/loopy.c b/loopy.c
index afa362c26b0177c732f80761de4b61c1c7c5dee1..488b5077672e7c1f52254c036428e64f14d42ce4 100644 (file)
--- a/loopy.c
+++ b/loopy.c
@@ -3609,7 +3609,7 @@ static void game_print(drawing *dr, game_state *state, int tilesize)
     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;
index 6249d55f209abffdc22ecf352ab791d292b9de45..7fe11f30b032b68a124427bff165ea5af9e8ac23 100644 (file)
--- a/windows.c
+++ b/windows.c
@@ -3397,6 +3397,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
        DispatchMessage(&msg);
     }
 
+    DestroyWindow(fe->hwnd);
     cleanup_help();
 
     return msg.wParam;