From 12933486c976dd624f7eec3267e01dd703d50c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Sat, 19 Nov 2016 17:26:25 +0100 Subject: [PATCH] GetCurrentScene bugfix : several successive requests could cause a crash --- WSRequestHandler.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/WSRequestHandler.cpp b/WSRequestHandler.cpp index 871b213c..60ba3aac 100644 --- a/WSRequestHandler.cpp +++ b/WSRequestHandler.cpp @@ -196,13 +196,16 @@ void WSRequestHandler::HandleGetCurrentScene(WSRequestHandler *owner) { obs_source_t *source = obs_frontend_get_current_scene(); const char *name = obs_source_get_name(source); + obs_data_array_t *scene_items = Utils::GetSceneItems(source); + obs_data_t *data = obs_data_create(); obs_data_set_string(data, "name", name); - obs_data_set_array(data, "sources", Utils::GetSceneItems(source)); + obs_data_set_array(data, "sources", scene_items); owner->SendOKResponse(data); obs_data_release(data); - obs_source_release(source); + obs_data_array_release(scene_items); + //obs_source_release(source); // causes a source destroy sometimes } void WSRequestHandler::HandleGetSceneList(WSRequestHandler *owner) {