From a148f7fd7cce52bcf778ec6a48f8dd96194ed718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Wed, 16 Sep 2020 21:45:31 +0200 Subject: [PATCH] requests(Profiles + SceneCollections): fix crash on change --- src/WSRequestHandler_Profiles.cpp | 5 ++++- src/WSRequestHandler_SceneCollections.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/WSRequestHandler_Profiles.cpp b/src/WSRequestHandler_Profiles.cpp index 17cae4a3..55d39b83 100644 --- a/src/WSRequestHandler_Profiles.cpp +++ b/src/WSRequestHandler_Profiles.cpp @@ -29,7 +29,10 @@ RpcResponse WSRequestHandler::SetCurrentProfile(const RpcRequest& request) { return request.failed("profile does not exist"); } - obs_frontend_set_current_profile(profileName); + obs_queue_task(OBS_TASK_UI, [](void* param) { + obs_frontend_set_current_profile(reinterpret_cast(param)); + }, (void*)profileName, true); + return request.success(); } diff --git a/src/WSRequestHandler_SceneCollections.cpp b/src/WSRequestHandler_SceneCollections.cpp index faf6299b..77ce5d0a 100644 --- a/src/WSRequestHandler_SceneCollections.cpp +++ b/src/WSRequestHandler_SceneCollections.cpp @@ -29,7 +29,10 @@ RpcResponse WSRequestHandler::SetCurrentSceneCollection(const RpcRequest& reques return request.failed("scene collection does not exist"); } - obs_frontend_set_current_scene_collection(sceneCollection); + obs_queue_task(OBS_TASK_UI, [](void* param) { + obs_frontend_set_current_scene_collection(reinterpret_cast(param)); + }, (void*)sceneCollection, true); + return request.success(); }