diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index 9aa3ba45b..085a1d2a5 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -1651,9 +1651,17 @@ void OBSBasic::on_action_Settings_triggered() void OBSBasic::on_actionAdvAudioProperties_triggered() { + if (advAudioWindow != nullptr) { + advAudioWindow->raise(); + return; + } + advAudioWindow = new OBSBasicAdvAudio(this); advAudioWindow->show(); advAudioWindow->setAttribute(Qt::WA_DeleteOnClose, true); + + connect(advAudioWindow, SIGNAL(destroyed()), + this, SLOT(on_advAudioProps_destroyed())); } void OBSBasic::on_advAudioProps_clicked() @@ -1661,6 +1669,11 @@ void OBSBasic::on_advAudioProps_clicked() on_actionAdvAudioProperties_triggered(); } +void OBSBasic::on_advAudioProps_destroyed() +{ + advAudioWindow = nullptr; +} + void OBSBasic::on_scenes_currentItemChanged(QListWidgetItem *current, QListWidgetItem *prev) { diff --git a/obs/window-basic-main.hpp b/obs/window-basic-main.hpp index 68524bd17..b74c4e449 100644 --- a/obs/window-basic-main.hpp +++ b/obs/window-basic-main.hpp @@ -234,6 +234,7 @@ private slots: void on_action_Settings_triggered(); void on_actionAdvAudioProperties_triggered(); void on_advAudioProps_clicked(); + void on_advAudioProps_destroyed(); void on_actionShowLogs_triggered(); void on_actionUploadCurrentLog_triggered(); void on_actionUploadLastLog_triggered();