From 78707040873aec639c0e3e1d7c4c310003765d67 Mon Sep 17 00:00:00 2001 From: Techjar Date: Thu, 28 Mar 2019 02:32:06 -0400 Subject: NetPlay: Fix hosting being stuck if player leaves during pending start The logic didn't account for the case where a player leaves, so the host would be left in a dangling state where the UI is disabled but the game won't start, requiring a full restart of Dolphin to fix. --- Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp') diff --git a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp index e9592ca1fb..814aafdf39 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp +++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp @@ -553,6 +553,8 @@ void NetPlayDialog::show(std::string nickname, bool use_traversal) m_game_button->setEnabled(is_hosting); m_kick_button->setEnabled(false); + SetOptionsEnabled(true); + QDialog::show(); UpdateGUI(); } @@ -973,7 +975,7 @@ void NetPlayDialog::OnTraversalStateChanged(TraversalClient::State state) } } -void NetPlayDialog::OnSaveDataSyncFailure() +void NetPlayDialog::OnGameStartAborted() { QueueOnObject(this, [this] { SetOptionsEnabled(true); }); } -- cgit v1.2.3 From c90df946bae7fb6d11e61efbf57e2da0af848c11 Mon Sep 17 00:00:00 2001 From: Techjar Date: Sat, 30 Mar 2019 06:20:24 -0400 Subject: NetPlay: Add cancel button for chunked data transfers --- Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp') diff --git a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp index 814aafdf39..08d025b285 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp +++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp @@ -1096,7 +1096,7 @@ void NetPlayDialog::ShowChunkedProgressDialog(const std::string& title, const u6 { QueueOnObject(this, [this, title, data_size, players] { if (m_chunked_progress_dialog->isVisible()) - m_chunked_progress_dialog->close(); + m_chunked_progress_dialog->done(QDialog::Accepted); m_chunked_progress_dialog->show(QString::fromStdString(title), data_size, players); }); @@ -1104,7 +1104,7 @@ void NetPlayDialog::ShowChunkedProgressDialog(const std::string& title, const u6 void NetPlayDialog::HideChunkedProgressDialog() { - QueueOnObject(this, [this] { m_chunked_progress_dialog->close(); }); + QueueOnObject(this, [this] { m_chunked_progress_dialog->done(QDialog::Accepted); }); } void NetPlayDialog::SetChunkedProgress(const int pid, const u64 progress) -- cgit v1.2.3