From 23e772cc2ce57cbc94f2873b92395b3de9223cf1 Mon Sep 17 00:00:00 2001 From: SarenDev Date: Sun, 27 Oct 2024 00:06:34 +0200 Subject: [PATCH] UI/importers: Translate capture sources depending on WS Translate window or game capture sources to xcomposite or pipewire depending on the window system used. This change prevents xcomposite being assigned on non-X11 systems which causes a crash --- UI/importers/studio.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/UI/importers/studio.cpp b/UI/importers/studio.cpp index 6c06828ba..30d72fa6c 100644 --- a/UI/importers/studio.cpp +++ b/UI/importers/studio.cpp @@ -16,6 +16,9 @@ ******************************************************************************/ #include "importers.hpp" +#if !defined(_WIN32) && !defined(__APPLE__) +#include +#endif using namespace std; using namespace json11; @@ -109,7 +112,13 @@ void TranslateOSStudio(Json &res) ClearTranslation("av_capture_input", "v4l2_input"); ClearTranslation("dshow_input", "v4l2_input"); - ClearTranslation("window_capture", "xcomposite_input"); + if (obs_get_nix_platform() == OBS_NIX_PLATFORM_X11_EGL) { + ClearTranslation("game_capture", "xcomposite_input"); + ClearTranslation("window_capture", "xcomposite_input"); + } else { + ClearTranslation("game_capture", "pipewire-screen-capture-source"); + ClearTranslation("window_capture", "pipewire-screen-capture-source"); + } if (id == "monitor_capture") { source["id"] = "xshm_input";