diff --git a/src/java/com/threerings/puzzle/client/PuzzleController.java b/src/java/com/threerings/puzzle/client/PuzzleController.java index 26a1e79ac..17ae484c3 100644 --- a/src/java/com/threerings/puzzle/client/PuzzleController.java +++ b/src/java/com/threerings/puzzle/client/PuzzleController.java @@ -400,7 +400,7 @@ public abstract class PuzzleController extends GameController } // refuse to start the action if our puzzle view is hidden - if (!_panel.getBoardView().isShowing()) { + if (_pidx != -1 && !_panel.getBoardView().isShowing()) { Log.warning("Refusing to start action on hidden puzzle."); Thread.dumpStack(); return; diff --git a/src/java/com/threerings/puzzle/drop/client/DropControllerDelegate.java b/src/java/com/threerings/puzzle/drop/client/DropControllerDelegate.java index 67f534dc9..b25bc7c20 100644 --- a/src/java/com/threerings/puzzle/drop/client/DropControllerDelegate.java +++ b/src/java/com/threerings/puzzle/drop/client/DropControllerDelegate.java @@ -455,7 +455,8 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate return; } - if (!_ctrl.isGameOver() && _puzobj.isActivePlayer(_pidx)) { + if (_pidx != -1 && !_ctrl.isGameOver() && + _puzobj.isActivePlayer(_pidx)) { // create the next block _blocksprite = createNextBlock(); if (_blocksprite != null) { @@ -620,7 +621,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate */ protected void updateSelfSummary () { - if (_puzobj != null && _puzobj.summaries != null) { + if (_pidx != -1 && _puzobj != null && _puzobj.summaries != null) { BoardSummary bsum = _puzobj.summaries[_pidx]; bsum.setBoard(_dboard); bsum.summarize();