Browse Source

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.
Richard Stanway 5 years ago
parent
commit
2f0134bf60
1 changed files with 2 additions and 1 deletions
  1. 2 1
      UI/window-basic-settings.cpp

+ 2 - 1
UI/window-basic-settings.cpp

@@ -2262,7 +2262,8 @@ void OBSBasicSettings::LoadAudioSources()
 	obs_enum_sources(
 	obs_enum_sources(
 		[](void *data, obs_source_t *source) {
 		[](void *data, obs_source_t *source) {
 			auto &AddSource = *static_cast<AddSource_t *>(data);
 			auto &AddSource = *static_cast<AddSource_t *>(data);
-			AddSource(source);
+			if (!obs_source_removed(source))
+				AddSource(source);
 			return true;
 			return true;
 		},
 		},
 		static_cast<void *>(&AddSource));
 		static_cast<void *>(&AddSource));