From b9e01380f340105de7a18e1768db0cec4035a2a4 Mon Sep 17 00:00:00 2001 From: Jim Date: Mon, 24 Jan 2022 11:26:04 -0800 Subject: [PATCH] UI: Replace addref calls with get_ref --- UI/api-interface.cpp | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/UI/api-interface.cpp b/UI/api-interface.cpp index 3d6980b73..4b19207b8 100644 --- a/UI/api-interface.cpp +++ b/UI/api-interface.cpp @@ -81,22 +81,19 @@ struct OBSStudioAPI : obs_frontend_callbacks { OBSScene scene = GetOBSRef(item); obs_source_t *source = obs_scene_get_source(scene); - obs_source_addref(source); - da_push_back(sources->sources, &source); + if (obs_source_get_ref(source) != nullptr) + da_push_back(sources->sources, &source); } } obs_source_t *obs_frontend_get_current_scene(void) override { - OBSSource source; - if (main->IsPreviewProgramMode()) { - source = obs_weak_source_get_source(main->programScene); + return obs_weak_source_get_source(main->programScene); } else { - source = main->GetCurrentSceneSource(); - obs_source_addref(source); + OBSSource source = main->GetCurrentSceneSource(); + return obs_source_get_ref(source); } - return source; } void obs_frontend_set_current_scene(obs_source_t *scene) override @@ -123,17 +120,15 @@ struct OBSStudioAPI : obs_frontend_callbacks { if (!tr) continue; - obs_source_addref(tr); - da_push_back(sources->sources, &tr); + if (obs_source_get_ref(tr) != nullptr) + da_push_back(sources->sources, &tr); } } obs_source_t *obs_frontend_get_current_transition(void) override { OBSSource tr = main->GetCurrentTransition(); - - obs_source_addref(tr); - return tr; + return obs_source_get_ref(tr); } void @@ -391,22 +386,19 @@ struct OBSStudioAPI : obs_frontend_callbacks { obs_output_t *obs_frontend_get_streaming_output(void) override { OBSOutput output = main->outputHandler->streamOutput.Get(); - obs_output_addref(output); - return output; + return obs_output_get_ref(output); } obs_output_t *obs_frontend_get_recording_output(void) override { OBSOutput out = main->outputHandler->fileOutput.Get(); - obs_output_addref(out); - return out; + return obs_output_get_ref(out); } obs_output_t *obs_frontend_get_replay_buffer_output(void) override { OBSOutput out = main->outputHandler->replayBuffer.Get(); - obs_output_addref(out); - return out; + return obs_output_get_ref(out); } config_t *obs_frontend_get_profile_config(void) override @@ -550,14 +542,12 @@ struct OBSStudioAPI : obs_frontend_callbacks { obs_source_t *obs_frontend_get_current_preview_scene(void) override { - OBSSource source = nullptr; - if (main->IsPreviewProgramMode()) { - source = main->GetCurrentSceneSource(); - obs_source_addref(source); + OBSSource source = main->GetCurrentSceneSource(); + return obs_source_get_ref(source); } - return source; + return nullptr; } void @@ -585,8 +575,7 @@ struct OBSStudioAPI : obs_frontend_callbacks { obs_output_t *obs_frontend_get_virtualcam_output(void) override { OBSOutput output = main->outputHandler->virtualCam.Get(); - obs_output_addref(output); - return output; + return obs_output_get_ref(output); } void obs_frontend_start_virtualcam(void) override