diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java
index 186ccb9a107..9584f69d4f4 100644
--- a/Mage.Client/src/main/java/mage/client/MageFrame.java
+++ b/Mage.Client/src/main/java/mage/client/MageFrame.java
@@ -821,6 +821,14 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
GamePane gamePane = (GamePane) window;
gamePane.hideGame();
}
+ if (window instanceof DraftPane) {
+ DraftPane draftPane = (DraftPane) window;
+ draftPane.hideDraft();
+ }
+ if (window instanceof TournamentPane) {
+ TournamentPane tournamentPane = (TournamentPane) window;
+ tournamentPane.hideTournament();
+ }
}
}
diff --git a/Mage.Client/src/main/java/mage/client/draft/DraftPane.form b/Mage.Client/src/main/java/mage/client/draft/DraftPane.form
index 5ca9916f921..2112f5b4917 100644
--- a/Mage.Client/src/main/java/mage/client/draft/DraftPane.form
+++ b/Mage.Client/src/main/java/mage/client/draft/DraftPane.form
@@ -24,7 +24,7 @@
-
+
diff --git a/Mage.Client/src/main/java/mage/client/draft/DraftPane.java b/Mage.Client/src/main/java/mage/client/draft/DraftPane.java
index 91a6c831a48..27f4e6d7a4f 100644
--- a/Mage.Client/src/main/java/mage/client/draft/DraftPane.java
+++ b/Mage.Client/src/main/java/mage/client/draft/DraftPane.java
@@ -53,6 +53,10 @@ public class DraftPane extends MagePane {
this.draftPanel1.showDraft(draftId);
}
+ public void hideDraft() {
+ draftPanel1.hideDraft();
+ }
+
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
diff --git a/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.form b/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.form
index c9eecb51c69..d2c67c18899 100644
--- a/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.form
+++ b/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.form
@@ -24,7 +24,7 @@
-
+
diff --git a/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.java b/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.java
index 7c5d8eb6cea..1431be59d75 100644
--- a/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.java
+++ b/Mage.Client/src/main/java/mage/client/tournament/TournamentPane.java
@@ -54,6 +54,10 @@ public class TournamentPane extends MagePane {
this.repaint();
}
+ public void hideTournament() {
+ tournamentPanel.hideTournament();
+ }
+
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
diff --git a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java
index f20f6212c01..a3eef656506 100644
--- a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java
+++ b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java
@@ -113,6 +113,8 @@ public class TournamentPanel extends javax.swing.JPanel {
}
public void hideTournament() {
+ stopTasks();
+ this.chatPanel1.disconnect();
Component c = this.getParent();
while (c != null && !(c instanceof TournamentPane)) {
c = c.getParent();
diff --git a/Mage.Server/src/main/java/mage/server/User.java b/Mage.Server/src/main/java/mage/server/User.java
index 309e9b1df9f..5d15ac9208e 100644
--- a/Mage.Server/src/main/java/mage/server/User.java
+++ b/Mage.Server/src/main/java/mage/server/User.java
@@ -169,6 +169,14 @@ public class User {
}
private void reconnect() {
+ for (Entry entry: tables.entrySet()) {
+ joinedTable(entry.getValue().getRoomId(), entry.getValue().getId(), entry.getValue().isTournament());
+ }
+ for (Entry entry: tournamentSessions.entrySet()) {
+ tournamentStarted(entry.getValue().getTournamentId(), entry.getKey());
+ entry.getValue().init();
+ entry.getValue().update();
+ }
for (Entry entry: gameSessions.entrySet()) {
gameStarted(entry.getValue().getGameId(), entry.getKey());
entry.getValue().init();
@@ -179,14 +187,6 @@ public class User {
entry.getValue().init();
entry.getValue().update();
}
- for (Entry entry: tournamentSessions.entrySet()) {
- tournamentStarted(entry.getValue().getTournamentId(), entry.getKey());
- entry.getValue().init();
- entry.getValue().update();
- }
- for (Entry entry: tables.entrySet()) {
- joinedTable(entry.getValue().getRoomId(), entry.getValue().getId(), entry.getValue().isTournament());
- }
}
public void addGame(UUID playerId, GameSession gameSession) {
diff --git a/Mage/src/mage/game/events/GameEvent.java b/Mage/src/mage/game/events/GameEvent.java
index 377ebd58ccf..404b298f7d2 100644
--- a/Mage/src/mage/game/events/GameEvent.java
+++ b/Mage/src/mage/game/events/GameEvent.java
@@ -29,6 +29,7 @@
package mage.game.events;
import java.util.UUID;
+import mage.Constants.Zone;
/**
*
@@ -43,6 +44,7 @@ public class GameEvent {
protected int amount;
protected boolean flag;
protected String data;
+ protected Zone zone;
public enum EventType {
@@ -182,4 +184,12 @@ public class GameEvent {
public void setData(String data) {
this.data = data;
}
+
+ public Zone getZone() {
+ return zone;
+ }
+
+ public void setZone(Zone zone) {
+ this.zone = zone;
+ }
}