From 05b221fbbf5fb92768dfacf73bc9a72edabdf4b0 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 2 Jul 2013 23:42:33 +0200 Subject: [PATCH] Added a check to TableController. --- .../java/mage/server/TableController.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/TableController.java b/Mage.Server/src/main/java/mage/server/TableController.java index b8437f55270..409999c75e5 100644 --- a/Mage.Server/src/main/java/mage/server/TableController.java +++ b/Mage.Server/src/main/java/mage/server/TableController.java @@ -145,18 +145,22 @@ public class TableController { throw new GameException("No available seats."); } Player player = createPlayer(name, seat.getPlayerType(), skill); - tournament.addPlayer(player, seat.getPlayerType()); - table.joinTable(player, seat); - User user = UserManager.getInstance().getUser(userId); - user.addTable(player.getId(), table); - logger.info("player joined " + player.getId()); - //only inform human players and add them to sessionPlayerMap - if (seat.getPlayer().isHuman()) { - user.joinedTable(table.getRoomId(), table.getId(), true); - userPlayerMap.put(userId, player.getId()); - } + if (player != null) { + tournament.addPlayer(player, seat.getPlayerType()); + table.joinTable(player, seat); + User user = UserManager.getInstance().getUser(userId); + user.addTable(player.getId(), table); + logger.info("player joined " + player.getId()); + //only inform human players and add them to sessionPlayerMap + if (seat.getPlayer().isHuman()) { + user.joinedTable(table.getRoomId(), table.getId(), true); + userPlayerMap.put(userId, player.getId()); + } - return true; + return true; + } else { + throw new GameException("Playertype " + seat.getPlayerType().toString() + " could not be created."); + } } public synchronized boolean joinTable(UUID userId, String name, String playerType, int skill, DeckCardLists deckList) throws MageException {