diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index f7574d42e03..7093b72ffa0 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -932,7 +932,11 @@ class MatchesTableModel extends AbstractTableModel { case 4: return matches[arg0].getResult(); case 5: - return timeFormatter.format(matches[arg0].getStartTime()); + if (matches[arg0].getStartTime() != null) { + return timeFormatter.format(matches[arg0].getStartTime()); + } else { + return ""; + } case 6: if (matches[arg0].getEndTime() != null) { return timeFormatter.format(matches[arg0].getEndTime()); diff --git a/Mage.Server/src/main/java/mage/server/TableController.java b/Mage.Server/src/main/java/mage/server/TableController.java index 4baaf62a0a0..c658d7074a3 100644 --- a/Mage.Server/src/main/java/mage/server/TableController.java +++ b/Mage.Server/src/main/java/mage/server/TableController.java @@ -821,19 +821,18 @@ public class TableController { int humanPlayers = 0; int aiPlayers = 0 ; int validHumanPlayers = 0; - if (match == null && !(table.getState().equals(TableState.WAITING) || - table.getState().equals(TableState.STARTING) || - table.getState().equals(TableState.READY_TO_START) )) { - logger.debug("- Match table with no match:"); - logger.debug("-- matchId:" + match.getId() + " [" + match.getName() + "]"); - // return false; - } - if (match.isDoneSideboarding()) { - if (match.getGame() == null) { - // no sideboarding and not active game -> match seems to hang (maybe the Draw bug) - logger.debug("- Match with no active game and not in sideboard state:"); + if (!(table.getState().equals(TableState.WAITING) || table.getState().equals(TableState.STARTING) || table.getState().equals(TableState.READY_TO_START))) { + if (match == null) { + logger.debug("- Match table with no match:"); logger.debug("-- matchId:" + match.getId() + " [" + match.getName() + "]"); // return false; + } else { + if (match.isDoneSideboarding() && match.getGame() == null) { + // no sideboarding and not active game -> match seems to hang (maybe the Draw bug) + logger.debug("- Match with no active game and not in sideboard state:"); + logger.debug("-- matchId:" + match.getId() + " [" + match.getName() + "]"); + // return false; + } } } // check for active players diff --git a/Mage/src/mage/game/GameStates.java b/Mage/src/mage/game/GameStates.java index 990bbaa9b8f..ab624bb9978 100644 --- a/Mage/src/mage/game/GameStates.java +++ b/Mage/src/mage/game/GameStates.java @@ -61,7 +61,7 @@ public class GameStates implements Serializable { states.remove(states.size() - 1); } // return new Copier().uncompressCopy(states.get(index)); - logger.debug("Rolling back state: " + index); + logger.trace("Rolling back state: " + index); return states.get(index); } return null; diff --git a/Mage/src/mage/game/match/MatchImpl.java b/Mage/src/mage/game/match/MatchImpl.java index 0368ab351a3..bcb734db820 100644 --- a/Mage/src/mage/game/match/MatchImpl.java +++ b/Mage/src/mage/game/match/MatchImpl.java @@ -63,7 +63,7 @@ public abstract class MatchImpl implements Match { public MatchImpl(MatchOptions options) { this.options = options; - startTime = null; + this.startTime = new Date(); // to avaoid null pointer exceptions replayAvailable = false; draws = 0; } @@ -133,7 +133,7 @@ public abstract class MatchImpl implements Match { @Override public boolean hasStarted() { - return startTime != null; + return startedGames > 0; } @Override