From 2f0134bf6034dd2d4e4321ebf88a6ba43fec5073 Mon Sep 17 00:00:00 2001 From: Richard Stanway Date: Mon, 2 Mar 2020 22:23:13 +0100 Subject: [PATCH] UI: Don't add removed sources when refreshing LoadAudioSources This can be fired by a callback during source removal. The code was re-adding the source that was just removed, causing the program to freeze when trying to remove all sources. --- UI/window-basic-settings.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index be0197f7c..e73376c73 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -2262,7 +2262,8 @@ void OBSBasicSettings::LoadAudioSources() obs_enum_sources( [](void *data, obs_source_t *source) { auto &AddSource = *static_cast(data); - AddSource(source); + if (!obs_source_removed(source)) + AddSource(source); return true; }, static_cast(&AddSource));