diff --git a/gui/src/serveritemwidget.cpp b/gui/src/serveritemwidget.cpp index fee59e4..18a1a21 100644 --- a/gui/src/serveritemwidget.cpp +++ b/gui/src/serveritemwidget.cpp @@ -29,6 +29,7 @@ ServerItemWidget::ServerItemWidget(QWidget *parent) : QWidget(parent) auto label = new QLabel("Server", this); layout->addWidget(label); + this->selected = true; SetSelected(false); setFixedSize(200, 200); diff --git a/lib/src/session.c b/lib/src/session.c index bdbc18a..d116189 100644 --- a/lib/src/session.c +++ b/lib/src/session.c @@ -347,7 +347,7 @@ static void *session_thread_func(void *arg) if(!session->audio_receiver) { CHIAKI_LOGE(&session->log, "Session failed to initialize Audio Receiver"); - QUIT(quit_ctrl); + QUIT(quit_ecdh); } session->video_receiver = chiaki_video_receiver_new(session); @@ -386,6 +386,9 @@ quit_audio_receiver: chiaki_audio_receiver_free(session->audio_receiver); session->audio_receiver = NULL; +quit_ecdh: + chiaki_ecdh_fini(&session->ecdh); + quit_ctrl: chiaki_ctrl_stop(&session->ctrl); chiaki_ctrl_join(&session->ctrl); diff --git a/lib/src/takion.c b/lib/src/takion.c index 57660a5..8c2e18e 100644 --- a/lib/src/takion.c +++ b/lib/src/takion.c @@ -667,7 +667,10 @@ static void *takion_thread_func(void *user) break; ChiakiErrorCode err = takion_recv(takion, buf, &received_size, UINT64_MAX); if(err != CHIAKI_ERR_SUCCESS) + { + free(buf); break; + } uint8_t *resized_buf = realloc(buf, received_size); if(!resized_buf) { @@ -853,6 +856,7 @@ static void takion_flush_data_queue(ChiakiTakion *takion) if(entry->payload_size < 9) { + free(entry->packet_buf); free(entry); continue; } @@ -874,6 +878,9 @@ static void takion_flush_data_queue(ChiakiTakion *takion) event.data.buf_size = (size_t)(entry->payload_size - 9); takion->cb(&event, takion->cb_user); } + + free(entry->packet_buf); + free(entry); } }