UI: Fix broken module paths provided via environment on macOS

When custom module and module data paths are provided via environment
variables, the module paths generated by current code will not be
compatible with the plugin bundle structure used on macOS.

Using environment variables is a simple way to test plugins,
as this allows OBS to discover them from alternative user-provided
locations.
This commit is contained in:
PatTheMav
2024-10-31 18:16:28 +01:00
committed by Ryan Foster
parent ca342c2491
commit 7ffc38ebb6

View File

@@ -181,10 +181,16 @@ static void AddExtraModulePaths()
plugins_data_path = s;
if (!plugins_path.empty() && !plugins_data_path.empty()) {
#if defined(__APPLE__)
plugins_path += "/%module%.plugin/Contents/MacOS";
plugins_data_path += "/%module%.plugin/Contents/Resources";
obs_add_module_path(plugins_path.c_str(), plugins_data_path.c_str());
#else
string data_path_with_module_suffix;
data_path_with_module_suffix += plugins_data_path;
data_path_with_module_suffix += "/%module%";
obs_add_module_path(plugins_path.c_str(), data_path_with_module_suffix.c_str());
#endif
}
if (portable_mode)