1
0
Эх сурвалжийг харах

Release sources after name check

Palana 11 жил өмнө
parent
commit
d3463e0772

+ 4 - 1
obs/window-basic-main.cpp

@@ -967,8 +967,11 @@ void OBSBasic::on_actionAddScene_triggered()
 
 	int i = 1;
 	QString placeHolderText = format.arg(i);
-	while (obs_get_source_by_name(QT_TO_UTF8(placeHolderText)))
+	obs_source_t source = nullptr;
+	while ((source = obs_get_source_by_name(QT_TO_UTF8(placeHolderText)))) {
+		obs_source_release(source);
 		placeHolderText = format.arg(++i);
+	}
 
 	bool accepted = NameDialog::AskForName(this,
 			QTStr("Basic.Main.AddSceneDlg.Title"),

+ 4 - 1
obs/window-basic-source-select.cpp

@@ -174,8 +174,11 @@ OBSBasicSourceSelect::OBSBasicSourceSelect(OBSBasic *parent, const char *type_)
 
 	QString text{placeHolderText};
 	int i = 1;
-	while (obs_get_source_by_name(QT_TO_UTF8(text)))
+	obs_source_t source = nullptr;
+	while ((source = obs_get_source_by_name(QT_TO_UTF8(text)))) {
+		obs_source_release(source);
 		text = QString("%1 %2").arg(placeHolderText).arg(i++);
+	}
 
 	ui->sourceName->setText(text);
 	ui->sourceName->setFocus();	//Fixes deselect of text.