Apply "103_fix-unequal-digit-h.diff" from the Debian package:
[sgt/puzzles] / PuzzleApplet.java
index 4c9928d..23eda81 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();
                 }
             });
@@ -476,11 +490,13 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
         }
 
         public void createBackBuffer(int w, int h, Color bg) {
-            backBuffer = new BufferedImage(w,h, BufferedImage.TYPE_3BYTE_BGR);
-            Graphics g = backBuffer.createGraphics();
-            g.setColor(bg);
-            g.fillRect(0, 0, w, h);
-            g.dispose();
+           if (w > 0 && h > 0) {
+               backBuffer = new BufferedImage(w,h, BufferedImage.TYPE_3BYTE_BGR);
+               Graphics g = backBuffer.createGraphics();
+               g.setColor(bg);
+               g.fillRect(0, 0, w, h);
+               g.dispose();
+           }
         }
 
         protected void paintComponent(Graphics g) {
@@ -588,7 +604,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;
                 }
             }