From c6428f09e209cf7db8d11f9b73cb90df52de6060 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 06:15:38 +0000 Subject: [PATCH] - Some fixes for possible null pointer exceptions in Requirements and Target_Selection --- src/forge/SpellAbility_Requirements.java | 10 +++++----- src/forge/Target_Selection.java | 11 +++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/forge/SpellAbility_Requirements.java b/src/forge/SpellAbility_Requirements.java index 111e346d04a..81bf3edce1e 100644 --- a/src/forge/SpellAbility_Requirements.java +++ b/src/forge/SpellAbility_Requirements.java @@ -23,7 +23,7 @@ public class SpellAbility_Requirements { fromZone.remove(c); } - if (select.getTgt().doesTarget()){ + if (select.doesTarget()){ select.setRequirements(this); select.chooseTargets(); } @@ -39,7 +39,7 @@ public class SpellAbility_Requirements { fromZone.add(ability.getSourceCard()); } - select.getTgt().resetTargets(); + select.resetTargets(); return; } startPaying(); @@ -58,8 +58,8 @@ public class SpellAbility_Requirements { // add back to hand fromZone.add(ability.getSourceCard()); } - if (select.getTgt().doesTarget()) - select.getTgt().resetTargets(); + if (select != null) + select.resetTargets(); payment.cancelPayment(); } @@ -69,6 +69,6 @@ public class SpellAbility_Requirements { AllZone.ManaPool.clearPay(false); AllZone.Stack.add(ability); if (select != null) - select.getTgt().resetTargets(); + select.resetTargets(); } } diff --git a/src/forge/Target_Selection.java b/src/forge/Target_Selection.java index 17416f74515..b83d3888e17 100644 --- a/src/forge/Target_Selection.java +++ b/src/forge/Target_Selection.java @@ -27,6 +27,17 @@ public class Target_Selection { card = sa.getSourceCard(); } + public boolean doesTarget(){ + if (target == null) + return false; + return target.doesTarget(); + } + + public void resetTargets(){ + if (target != null) + target.resetTargets(); + } + public boolean chooseTargets(){ // if not enough targets chosen, reset and cancel Ability if (bCancel || bDoneTarget && target.getNumTargeted() < target.getMinTargets()){