diff --git a/src/client/UnoClient.cpp b/src/client/UnoClient.cpp index b70e5ef..2e17a43 100644 --- a/src/client/UnoClient.cpp +++ b/src/client/UnoClient.cpp @@ -141,10 +141,17 @@ namespace UNO::CLIENT { gameUI_ = std::make_shared([this](const PlayerAction &action) { this->handlePlayerAction(action); }); } + UnoClient::~UnoClient() + { + networkClient_->stop(); + if (networkThread_.joinable()) { + networkThread_.join(); + } + } + void UnoClient::run() { networkThread_ = std::thread([this]() { this->networkClient_->run(); }); gameUI_->run(); } - } // namespace UNO::CLIENT \ No newline at end of file diff --git a/src/client/UnoClient.h b/src/client/UnoClient.h index 865670d..aa6b9ca 100644 --- a/src/client/UnoClient.h +++ b/src/client/UnoClient.h @@ -44,6 +44,7 @@ namespace UNO::CLIENT { public: UnoClient(); + ~UnoClient(); void run(); };