aboutsummaryrefslogtreecommitdiff
path: root/solo.c
diff options
context:
space:
mode:
authorBen Harris <bjh21@bjh21.me.uk>2023-02-16 15:54:17 +0000
committerBen Harris <bjh21@bjh21.me.uk>2023-02-16 16:00:46 +0000
commit3cd51d001769c657ebb4184bd05343af4d7e12b1 (patch)
tree7c3dec09bc1cc114f3f3dd30d78f0f3833d92d39 /solo.c
parent232cbaf5a8affcb0c61f1355f0569efaae534ad9 (diff)
downloadpuzzles-3cd51d001769c657ebb4184bd05343af4d7e12b1.zip
puzzles-3cd51d001769c657ebb4184bd05343af4d7e12b1.tar.gz
puzzles-3cd51d001769c657ebb4184bd05343af4d7e12b1.tar.bz2
puzzles-3cd51d001769c657ebb4184bd05343af4d7e12b1.tar.xz
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.
Diffstat (limited to 'solo.c')
-rw-r--r--solo.c2
1 files changed, 1 insertions, 1 deletions
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;
}