From 3cd51d001769c657ebb4184bd05343af4d7e12b1 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Thu, 16 Feb 2023 15:54:17 +0000 Subject: [PATCH] Solo: cope with pencil marks when tilesize == 1 Solo's layout calculations for pencil marks could fail with a tilesize of 1, generating an assertion failure: "draw_number: Assertion `pbest > 0' failed." This was reported as Debian bug #905852. My solution is slightly silly, namely to change a ">" in the test for whether a new layout is the best so far to ">=". This allows for finding a (terrible) layout even for tilesize == 1, and also has the side-effect of slightly preserring wide layouts over tall ones. Personally, I think that's an improvement. --- solo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solo.c b/solo.c index ff98073..732ca2e 100644 --- a/solo.c +++ b/solo.c @@ -5133,7 +5133,7 @@ static void draw_number(drawing *dr, game_drawstate *ds, fw = (pr - pl) / (float)pw; fh = (pb - pt) / (float)ph; fs = min(fw, fh); - if (fs > bestsize) { + if (fs >= bestsize) { bestsize = fs; pbest = pw; }