Prevent error when failing to assign a required blocker

This commit is contained in:
drdev
2014-09-05 21:40:45 +00:00
parent 162435ca52
commit 71afc97573

View File

@@ -28,6 +28,7 @@ import forge.game.combat.CombatUtil;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.ITriggerEvent; import forge.util.ITriggerEvent;
import forge.util.ThreadUtil;
import forge.util.gui.SGuiDialog; import forge.util.gui.SGuiDialog;
/** /**
@@ -88,14 +89,20 @@ public class InputBlock extends InputSyncronizedBase {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void onOk() { public final void onOk() {
String blockErrors = CombatUtil.validateBlocks(combat, defender); final String blockErrors = CombatUtil.validateBlocks(combat, defender);
if (blockErrors == null) { if (blockErrors == null) {
// Done blocking // Done blocking
setCurrentAttacker(null); setCurrentAttacker(null);
stop(); stop();
} }
else { else {
SGuiDialog.message(blockErrors); //must run in game thread to prevent problems for mobile game
ThreadUtil.invokeInGameThread(new Runnable() {
@Override
public void run() {
SGuiDialog.message(blockErrors);
}
});
} }
} }