Browse Source

frontend-tools: Upgrade legacy Python library paths to modern format

Updates the value at runtime and also stores it in the configuration.
PatTheMav 3 years ago
parent
commit
ff4f4fcb92
1 changed files with 13 additions and 0 deletions
  1. 13 0
      UI/frontend-plugins/frontend-tools/scripts.cpp

+ 13 - 0
UI/frontend-plugins/frontend-tools/scripts.cpp

@@ -652,6 +652,19 @@ extern "C" void InitScripts()
 	const char *python_path =
 		config_get_string(config, "Python", "Path" ARCH_NAME);
 
+#ifdef __APPLE__
+	std::string _python_path(python_path);
+	std::size_t pos = _python_path.find("/Python.framework/Versions");
+
+	if (pos != std::string::npos) {
+		std::string _temp = _python_path.substr(0, pos);
+		config_set_string(config, "Python", "Path" ARCH_NAME,
+				  _temp.c_str());
+		config_save(config);
+		python_path = _temp.c_str();
+	}
+#endif
+
 	if (!obs_scripting_python_loaded() && python_path && *python_path)
 		obs_scripting_load_python(python_path);
 #endif