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

UI: Fix crash radio list without items

Check items count before accessing first item,
or it will crash due to out-of-bound access.
Yoshimasa Niwa 2 жил өмнө
parent
commit
9ab5271d69

+ 9 - 6
UI/properties-view.cpp

@@ -631,12 +631,15 @@ QWidget *OBSPropertiesView::AddList(obs_property_t *prop, bool &warning)
 		for (size_t idx = 0; idx < count; idx++)
 			AddRadioItem(buttonGroup, subLayout, prop, value, idx);
 
-		buttonGroup->setExclusive(true);
-		WidgetInfo *info =
-			new WidgetInfo(this, prop, buttonGroup->buttons()[0]);
-		children.emplace_back(info);
-		connect(buttonGroup, SIGNAL(buttonClicked(QAbstractButton *)),
-			info, SLOT(ControlChanged()));
+		if (count > 0) {
+			buttonGroup->setExclusive(true);
+			WidgetInfo *info = new WidgetInfo(
+				this, prop, buttonGroup->buttons()[0]);
+			children.emplace_back(info);
+			connect(buttonGroup,
+				SIGNAL(buttonClicked(QAbstractButton *)), info,
+				SLOT(ControlChanged()));
+		}
 
 		QWidget *widget = new QWidget();
 		widget->setLayout(subLayout);