From 6a138740ba414da60f5253cff8a3f71cf6d2f635 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 14 Jan 2013 17:11:16 +0100 Subject: [PATCH] Fixed NPE in deck editor cause by changes for issue #73. --- .../plugins/adapters/MageActionCallback.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java index 0fd3daeabe1..78bcec540de 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java +++ b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java @@ -112,16 +112,18 @@ public class MageActionCallback implements ActionCallback { } private void drawArrowsForEnchantPlayers(TransferData data, Point parentPoint) { - for (PlayAreaPanel pa : MageFrame.getGame(data.gameId).getPlayers().values()) { - PlayerPanelExt playAreaPanel = pa.getPlayerPanel(); - if (playAreaPanel != null && playAreaPanel.getPlayer() != null && playAreaPanel.getPlayer().hasAttachments()) { - Point me = new Point(data.locationOnScreen); - me.translate(-parentPoint.x, -parentPoint.y); - for (UUID attachmentId : playAreaPanel.getPlayer().getAttachments()) { - if (attachmentId.equals(data.card.getId())) { - Point player = pa.getLocationOnScreen(); - player.translate(-parentPoint.x, -parentPoint.y); - ArrowBuilder.getBuilder().addArrow(data.gameId,(int) me.getX() + 35, (int) me.getY(), (int) player.getX() + 40, (int) player.getY() - 40, Color.magenta, ArrowBuilder.Type.ENCHANT_PLAYERS); + if (data.gameId != null) { + for (PlayAreaPanel pa : MageFrame.getGame(data.gameId).getPlayers().values()) { + PlayerPanelExt playAreaPanel = pa.getPlayerPanel(); + if (playAreaPanel != null && playAreaPanel.getPlayer() != null && playAreaPanel.getPlayer().hasAttachments()) { + Point me = new Point(data.locationOnScreen); + me.translate(-parentPoint.x, -parentPoint.y); + for (UUID attachmentId : playAreaPanel.getPlayer().getAttachments()) { + if (attachmentId.equals(data.card.getId())) { + Point player = pa.getLocationOnScreen(); + player.translate(-parentPoint.x, -parentPoint.y); + ArrowBuilder.getBuilder().addArrow(data.gameId,(int) me.getX() + 35, (int) me.getY(), (int) player.getX() + 40, (int) player.getY() - 40, Color.magenta, ArrowBuilder.Type.ENCHANT_PLAYERS); + } } } }