From cb8b4d8cbf702fb9a9ad46f4c524ab85e1001bf1 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 18 Aug 2017 00:12:12 +0200 Subject: [PATCH] Fixed some problems that table dialogs were not closed if the table controller closed the table. --- Mage.Client/src/main/java/mage/client/MageFrame.java | 2 -- .../main/java/mage/client/dialog/TableWaitingDialog.java | 7 ++++++- 2 files changed, 6 insertions(+), 3 deletions(-) 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;