Fixed some problems that table dialogs were not closed if the table controller closed the table.

This commit is contained in:
LevelX2 2017-08-18 00:12:12 +02:00
parent 557f08d4bc
commit cb8b4d8cbf
2 changed files with 6 additions and 3 deletions

View file

@ -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();

View file

@ -418,7 +418,12 @@ class UpdateSeatsTask extends SwingWorker<Void, TableView> {
@Override
protected Void doInBackground() throws Exception {
while (!isCancelled()) {
SessionHandler.getTable(roomId, tableId).ifPresent(this::publish);
Optional<TableView> tableView = SessionHandler.getTable(roomId, tableId);
if (tableView.isPresent()) {
tableView.ifPresent(this::publish);
} else {
dialog.closeDialog();
}
TimeUnit.SECONDS.sleep(1);
}
return null;