From ff510a3b440c5d6f03170804a46ded936b5b7a9a Mon Sep 17 00:00:00 2001 From: dijunkun Date: Wed, 14 Aug 2024 16:39:08 +0800 Subject: [PATCH] [fix] fix peer object delete --- src/single_window/render.cpp | 9 +++++++-- src/single_window/setting_window.cpp | 2 +- thirdparty/projectx | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/single_window/render.cpp b/src/single_window/render.cpp index fab0f6e..4a83f0c 100644 --- a/src/single_window/render.cpp +++ b/src/single_window/render.cpp @@ -525,6 +525,11 @@ int Render::Run() { LOG_INFO("[{}] Leave connection [{}]", client_id_, remote_id_); LeaveConnection(peer_reserved_ ? peer_reserved_ : peer_, remote_id_.c_str()); + if (peer_reserved_) { + DestroyPeer(&peer_reserved_); + LOG_INFO("Destroy peer[reserved]"); + } + rejoin_ = false; memset(audio_buffer_, 0, 960); connection_established_ = false; @@ -616,11 +621,11 @@ int Render::Run() { } if (peer_) { - DestroyPeer(peer_); + DestroyPeer(&peer_); } if (peer_reserved_) { - DestroyPeer(peer_reserved_); + DestroyPeer(&peer_reserved_); } SDL_CloseAudioDevice(output_dev_); diff --git a/src/single_window/setting_window.cpp b/src/single_window/setting_window.cpp index d68385f..1563951 100644 --- a/src/single_window/setting_window.cpp +++ b/src/single_window/setting_window.cpp @@ -204,7 +204,7 @@ int Render::SettingWindow() { // Recreate peer instance { LOG_INFO("Recreate peer instance"); - DestroyPeer(peer_); + DestroyPeer(&peer_); is_create_connection_ = false; CreateConnectionPeer(); } diff --git a/thirdparty/projectx b/thirdparty/projectx index 5f8e60d..d6599ab 160000 --- a/thirdparty/projectx +++ b/thirdparty/projectx @@ -1 +1 @@ -Subproject commit 5f8e60d1c880ef096a5fb1c0c8ed7f5faecf3449 +Subproject commit d6599abf81035911af91238dfe6eab0626594353