diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index ec8b0a61d9e..d474fbd100b 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -1321,7 +1321,6 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { break; case CLIENT_DISCONNECT: if (SessionHandler.isConnected()) { - endTables(); SessionHandler.disconnect(false); } tablesPane.clearChat(); @@ -1351,7 +1350,6 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { break; case CLIENT_EXIT: if (SessionHandler.isConnected()) { - endTables(); SessionHandler.disconnect(false); } CardRepository.instance.closeDB(); diff --git a/Mage.Client/src/main/java/mage/client/dialog/TableWaitingDialog.java b/Mage.Client/src/main/java/mage/client/dialog/TableWaitingDialog.java index a981e896ed0..0753be82484 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/TableWaitingDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/TableWaitingDialog.java @@ -418,7 +418,12 @@ class UpdateSeatsTask extends SwingWorker { @Override protected Void doInBackground() throws Exception { while (!isCancelled()) { - SessionHandler.getTable(roomId, tableId).ifPresent(this::publish); + Optional tableView = SessionHandler.getTable(roomId, tableId); + if (tableView.isPresent()) { + tableView.ifPresent(this::publish); + } else { + dialog.closeDialog(); + } TimeUnit.SECONDS.sleep(1); } return null;