UI: Use invokeMethod to refresh LoadAudioSources

Sources may be removed or destroyed by other threads which resulted in
GUI calls outside of the main Qt thread.
master
Richard Stanway 2020-03-02 22:21:02 +01:00
parent 57b47ca90a
commit 2a4a46deed
1 changed files with 6 additions and 4 deletions

View File

@ -2247,10 +2247,12 @@ void OBSBasicSettings::LoadAudioSources()
label->setMinimumSize(QSize(170, 0));
label->setAlignment(Qt::AlignRight | Qt::AlignTrailing |
Qt::AlignVCenter);
connect(label, &OBSSourceLabel::Removed,
[=]() { LoadAudioSources(); });
connect(label, &OBSSourceLabel::Destroyed,
[=]() { LoadAudioSources(); });
connect(label, &OBSSourceLabel::Removed, [=]() {
QMetaObject::invokeMethod(this, "ReloadAudioSources");
});
connect(label, &OBSSourceLabel::Destroyed, [=]() {
QMetaObject::invokeMethod(this, "ReloadAudioSources");
});
layout->addRow(label, form);
return true;