shithub: puzzles

Download patch

ref: f38adf6394637d87d6595fd9f4755d193816d7d0
parent: 21629d7e44bb61a26ae5088f524eef85f96a9aab
author: Simon Tatham <anakin@pobox.com>
date: Fri Feb 17 14:07:31 EST 2012

Tweak a conditional expression in pearl.c to work around a display bug
in the Java build - which turns out to be a JVM bug in OpenJDK 6,
causing the NestedVM rendition of the expression (i==1?3:4) to be
mis-JITed. OpenJDK 7 appears not to do that any more, but this
equivalent (for these purposes) rephrasing should perturb the code
just enough to dodge the problem.

[originally from svn r9408]

--- a/pearl.c
+++ b/pearl.c
@@ -2279,7 +2279,7 @@
     /* Draw a clue, if present */
     if (clue != NOCLUE) {
         int c = (lflags & DS_FLASH) ? COL_FLASH :
-                (clue == CORNER) ? COL_BLACK : COL_WHITE;
+                (clue == STRAIGHT) ? COL_WHITE : COL_BLACK;
 
         if (lflags & DS_ERROR_CLUE) /* draw a bigger 'error' clue circle. */
             draw_circle(dr, cx, cy, TILE_SIZE*3/8, COL_ERROR, COL_ERROR);