From b1858396a5c976f65481beda3bfd934ef1e909e7 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Mon, 22 Nov 2010 16:45:26 +0000 Subject: [PATCH] Fixed NullPointerException in case card wasn't found by name. Fixed CardGrid (didn't removed mage card if card plugin was used) --- .../main/java/mage/client/cards/CardGrid.java | 10 +++++----- .../src/mage/server/game/GameController.java | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/cards/CardGrid.java b/Mage.Client/src/main/java/mage/client/cards/CardGrid.java index ee975ce807c..3a534f2c347 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardGrid.java +++ b/Mage.Client/src/main/java/mage/client/cards/CardGrid.java @@ -129,11 +129,11 @@ public class CardGrid extends javax.swing.JLayeredPane implements MouseListener if (comp instanceof Card) { if (((Card)comp).getCardId().equals(cardId)) { remove(comp); - } else if (comp instanceof MageCard) { - if (((MageCard)comp).getOriginal().getId().equals(cardId)) { - remove(comp); - } - } + } + } else if (comp instanceof MageCard) { + if (((MageCard)comp).getOriginal().getId().equals(cardId)) { + remove(comp); + } } } } diff --git a/Mage.Server/src/mage/server/game/GameController.java b/Mage.Server/src/mage/server/game/GameController.java index 911153b3f18..8dda07aa665 100644 --- a/Mage.Server/src/mage/server/game/GameController.java +++ b/Mage.Server/src/mage/server/game/GameController.java @@ -438,14 +438,19 @@ public class GameController implements GameCallback { String cardName = m.group(3); Integer amount = Integer.parseInt(m.group(4)); for (int i = 0; i < amount; i++) { - Card card = CardImpl.createCard(Sets.findCard(cardName)); - if (card != null) { - Set cards = new HashSet(); - cards.add(card); - game.loadCards(cards, player.getId()); - swapWithAnyCard(game, player, card, gameZone); + String clazz = Sets.findCard(cardName); + if (clazz != null) { + Card card = CardImpl.createCard(clazz); + if (card != null) { + Set cards = new HashSet(); + cards.add(card); + game.loadCards(cards, player.getId()); + swapWithAnyCard(game, player, card, gameZone); + } else { + logger.severe("Couldn't create a card: " + cardName); + } } else { - logger.severe("Couldn't create a card: " + cardName); + logger.severe("Couldn't find a card: " + cardName); } } } else {