From f3c075f19fa410eb5bac3b323389ee0a8fa73d2e Mon Sep 17 00:00:00 2001 From: derrod Date: Tue, 11 Apr 2023 18:30:27 +0200 Subject: [PATCH] UI: Do not disable events when disabling codecs --- UI/window-basic-settings.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index 2cdc8aaf5..d1b78856c 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -5088,17 +5088,18 @@ void OBSBasicSettings::AdvOutRecCheckCodecs() QString streamAudioEncoder = ui->advOutAEncoder->currentData().toString(); - /* Disable the signals to prevent AdvOutRecCheckWarnings to be called here. */ - ui->advOutRecEncoder->blockSignals(true); - ui->advOutRecAEncoder->blockSignals(true); + int oldVEncoderIdx = ui->advOutRecEncoder->currentIndex(); + int oldAEncoderIdx = ui->advOutRecAEncoder->currentIndex(); DisableIncompatibleCodecs(ui->advOutRecEncoder, recFormat, recFormatName, streamEncoder); DisableIncompatibleCodecs(ui->advOutRecAEncoder, recFormat, recFormatName, streamAudioEncoder); - ui->advOutRecEncoder->blockSignals(false); - ui->advOutRecAEncoder->blockSignals(false); - AdvOutRecCheckWarnings(); + /* Only invoke AdvOutRecCheckWarnings() if it wouldn't already have + * been triggered by one of the encoder selections being reset. */ + if (ui->advOutRecEncoder->currentIndex() == oldVEncoderIdx && + ui->advOutRecAEncoder->currentIndex() == oldAEncoderIdx) + AdvOutRecCheckWarnings(); } #if defined(__APPLE__) && QT_VERSION < QT_VERSION_CHECK(6, 5, 1)