@@ -1895,7 +1895,7 @@ OBSPropertiesView *OBSBasicSettings::CreateEncoderPropertyView(const char *encod
18951895 view->setSizePolicy (QSizePolicy::Preferred, QSizePolicy::Minimum);
18961896 view->setProperty (" changed" , QVariant (changed));
18971897 view->setScrolling (false );
1898- QObject::connect (view, &OBSPropertiesView::Changed, this , &OBSBasicSettings:: OutputsChanged);
1898+ QObject::connect (view, &OBSPropertiesView::Changed, this , [ this , view]() { OutputsChanged (view); } );
18991899
19001900 return view;
19011901}
@@ -4097,45 +4097,52 @@ void OBSBasicSettings::on_baseResolution_editTextChanged(const QString &text)
40974097 }
40984098}
40994099
4100- void OBSBasicSettings::GeneralChanged ()
4100+ static void MarkChangedWidget (QObject *widget)
4101+ {
4102+ if (widget) {
4103+ widget->setProperty (" changed" , QVariant (true ));
4104+ }
4105+ }
4106+
4107+ void OBSBasicSettings::GeneralChanged (QObject *widget)
41014108{
41024109 if (!loading) {
41034110 generalChanged = true ;
4104- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4111+ MarkChangedWidget (widget );
41054112 EnableApplyButton (true );
41064113 }
41074114}
41084115
4109- void OBSBasicSettings::Stream1Changed ()
4116+ void OBSBasicSettings::Stream1Changed (QObject *widget )
41104117{
41114118 if (!loading) {
41124119 stream1Changed = true ;
4113- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4120+ MarkChangedWidget (widget );
41144121 EnableApplyButton (true );
41154122 }
41164123}
41174124
4118- void OBSBasicSettings::OutputsChanged ()
4125+ void OBSBasicSettings::OutputsChanged (QObject *widget )
41194126{
41204127 if (!loading) {
41214128 outputsChanged = true ;
4122- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4129+ MarkChangedWidget (widget );
41234130 EnableApplyButton (true );
41244131
41254132 UpdateMultitrackVideo ();
41264133 }
41274134}
41284135
4129- void OBSBasicSettings::AudioChanged ()
4136+ void OBSBasicSettings::AudioChanged (QObject *widget )
41304137{
41314138 if (!loading) {
41324139 audioChanged = true ;
4133- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4140+ MarkChangedWidget (widget );
41344141 EnableApplyButton (true );
41354142 }
41364143}
41374144
4138- void OBSBasicSettings::AudioChangedRestart ()
4145+ void OBSBasicSettings::AudioChangedRestart (QObject *widget )
41394146{
41404147 ui->audioMsg ->setVisible (false );
41414148
@@ -4153,7 +4160,7 @@ void OBSBasicSettings::AudioChangedRestart()
41534160 }
41544161
41554162 audioChanged = true ;
4156- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4163+ MarkChangedWidget (widget );
41574164 EnableApplyButton (true );
41584165 }
41594166}
@@ -4253,33 +4260,33 @@ void RestrictResetBitrates(initializer_list<QComboBox *> boxes, int maxbitrate)
42534260 }
42544261}
42554262
4256- void OBSBasicSettings::AdvancedChangedRestart ()
4263+ void OBSBasicSettings::AdvancedChangedRestart (QObject *widget )
42574264{
42584265 ui->advancedMsg ->setVisible (false );
42594266
42604267 if (!loading) {
42614268 advancedChanged = true ;
42624269 ui->advancedMsg ->setText (QTStr (" Basic.Settings.ProgramRestart" ));
42634270 ui->advancedMsg ->setVisible (true );
4264- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4271+ MarkChangedWidget (widget );
42654272 EnableApplyButton (true );
42664273 }
42674274}
42684275
4269- void OBSBasicSettings::VideoChangedResolution ()
4276+ void OBSBasicSettings::VideoChangedResolution (QObject *widget )
42704277{
42714278 if (!loading && ValidResolutions (ui.get ())) {
42724279 videoChanged = true ;
4273- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4280+ MarkChangedWidget (widget );
42744281 EnableApplyButton (true );
42754282 }
42764283}
42774284
4278- void OBSBasicSettings::VideoChanged ()
4285+ void OBSBasicSettings::VideoChanged (QObject *widget )
42794286{
42804287 if (!loading) {
42814288 videoChanged = true ;
4282- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4289+ MarkChangedWidget (widget );
42834290 EnableApplyButton (true );
42844291 }
42854292}
@@ -4436,29 +4443,29 @@ void OBSBasicSettings::ReloadHotkeys(obs_hotkey_id ignoreKey)
44364443 LoadHotkeySettings (ignoreKey);
44374444}
44384445
4439- void OBSBasicSettings::A11yChanged ()
4446+ void OBSBasicSettings::A11yChanged (QObject *widget )
44404447{
44414448 if (!loading) {
44424449 a11yChanged = true ;
4443- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4450+ MarkChangedWidget (widget );
44444451 EnableApplyButton (true );
44454452 }
44464453}
44474454
4448- void OBSBasicSettings::AppearanceChanged ()
4455+ void OBSBasicSettings::AppearanceChanged (QObject *widget )
44494456{
44504457 if (!loading) {
44514458 appearanceChanged = true ;
4452- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4459+ MarkChangedWidget (widget );
44534460 EnableApplyButton (true );
44544461 }
44554462}
44564463
4457- void OBSBasicSettings::AdvancedChanged ()
4464+ void OBSBasicSettings::AdvancedChanged (QObject *widget )
44584465{
44594466 if (!loading) {
44604467 advancedChanged = true ;
4461- sender ()-> setProperty ( " changed " , QVariant ( true ) );
4468+ MarkChangedWidget (widget );
44624469 EnableApplyButton (true );
44634470 }
44644471}
@@ -5360,7 +5367,8 @@ void OBSBasicSettings::LowLatencyBufferingChanged(bool checked)
53605367 }
53615368
53625369 QMetaObject::invokeMethod (this , " UpdateAudioWarnings" , Qt::QueuedConnection);
5363- QMetaObject::invokeMethod (this , " AudioChangedRestart" );
5370+ QMetaObject::invokeMethod (
5371+ this , [this ]() { AudioChangedRestart (ui->lowLatencyBuffering ); }, Qt::QueuedConnection);
53645372}
53655373
53665374void OBSBasicSettings::SimpleRecordingQualityLosslessWarning (int idx)
0 commit comments