UI: Clear global signals in closeEvent
This commit is contained in:
parent
f8c5c7f55f
commit
4b003947b8
2 changed files with 11 additions and 6 deletions
|
|
@ -622,17 +622,18 @@ bool OBSBasic::InitBasicConfig()
|
|||
|
||||
void OBSBasic::InitOBSCallbacks()
|
||||
{
|
||||
signal_handler_connect(obs_get_signal_handler(), "source_add",
|
||||
signalHandlers.reserve(signalHandlers.size() + 6);
|
||||
signalHandlers.emplace_back(obs_get_signal_handler(), "source_add",
|
||||
OBSBasic::SourceAdded, this);
|
||||
signal_handler_connect(obs_get_signal_handler(), "source_remove",
|
||||
signalHandlers.emplace_back(obs_get_signal_handler(), "source_remove",
|
||||
OBSBasic::SourceRemoved, this);
|
||||
signal_handler_connect(obs_get_signal_handler(), "channel_change",
|
||||
signalHandlers.emplace_back(obs_get_signal_handler(), "channel_change",
|
||||
OBSBasic::ChannelChanged, this);
|
||||
signal_handler_connect(obs_get_signal_handler(), "source_activate",
|
||||
signalHandlers.emplace_back(obs_get_signal_handler(), "source_activate",
|
||||
OBSBasic::SourceActivated, this);
|
||||
signal_handler_connect(obs_get_signal_handler(), "source_deactivate",
|
||||
signalHandlers.emplace_back(obs_get_signal_handler(), "source_deactivate",
|
||||
OBSBasic::SourceDeactivated, this);
|
||||
signal_handler_connect(obs_get_signal_handler(), "source_rename",
|
||||
signalHandlers.emplace_back(obs_get_signal_handler(), "source_rename",
|
||||
OBSBasic::SourceRenamed, this);
|
||||
}
|
||||
|
||||
|
|
@ -1974,6 +1975,8 @@ void OBSBasic::closeEvent(QCloseEvent *event)
|
|||
if (logUploadThread)
|
||||
logUploadThread->wait();
|
||||
|
||||
signalHandlers.clear();
|
||||
|
||||
/* Check all child dialogs and ensure they run their proper closeEvent
|
||||
* methods before exiting the application. Otherwise Qt doesn't send
|
||||
* the proper QCloseEvent messages. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue