Beat up on Black Box docs, after Debian bug #548472.
[sgt/puzzles] / PuzzleApplet.java
index ef7ca7e..f401ecf 100644 (file)
@@ -33,6 +33,7 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
     private JLabel statusBar;
     private PuzzlePanel pp;
     private Runtime runtime;
+    private String[] puzzle_args;
     private Graphics2D  gg;
     private Timer timer;
     private int xarg1, xarg2, xarg3;
@@ -172,9 +173,22 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
                     runtimeCall("jcallback_timer_func", new int[0]);
                 }
             });
+           String gameid;
+           try {
+               gameid = getParameter("game_id");
+           } catch (java.lang.NullPointerException ex) {
+               gameid = null;
+           }
+           if (gameid == null) {
+               puzzle_args = null;
+           } else {
+               puzzle_args = new String[2];
+               puzzle_args[0] = "puzzle";
+               puzzle_args[1] = gameid;
+           }
             SwingUtilities.invokeLater(new Runnable() {
                 public void run() {
-                    runtime.start();
+                    runtime.start(puzzle_args);
                     runtime.execute();
                 }
             });
@@ -368,8 +382,6 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
                     int asc = fm.getAscent(), desc = fm.getDescent();
                     if ((xarg3 & ALIGN_VCENTRE) != 0)
                         xarg2 += asc - (asc+desc)/2;
-                    else
-                        xarg2 += asc;
                     int wid = fm.stringWidth(text);
                     if ((xarg3 & ALIGN_HCENTRE) != 0)
                         xarg1 -= wid / 2;
@@ -590,7 +602,7 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
                     break;
                 case C_CHOICES:
                     JComboBox jcm = (JComboBox)cc.component;
-                    runtimeCall("jcallback_config_set_boolean", new int[] {cc.configItemPointer, jcm.getSelectedIndex()});
+                    runtimeCall("jcallback_config_set_choice", new int[] {cc.configItemPointer, jcm.getSelectedIndex()});
                     break;
                 }
             }