mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-08-29 02:03:03 +08:00
UI: Restore XDG config path update for FreeBSD
Restore move_to_xdg from commit ba02e065fe to migrate from pre-XDG
config path $HOME/.obs-studio on FreeBSD.
This commit is contained in:
@@ -1510,6 +1510,35 @@ static uint64_t convert_log_name(bool has_prefix, const char *name)
|
||||
return std::stoull(timestring.str());
|
||||
}
|
||||
|
||||
/* If upgrading from an older (non-XDG) build of OBS, move config files to XDG directory. */
|
||||
/* TODO: Remove after version 32.0. */
|
||||
#if defined(__FreeBSD__)
|
||||
static void move_to_xdg(void)
|
||||
{
|
||||
char old_path[512];
|
||||
char new_path[512];
|
||||
char *home = getenv("HOME");
|
||||
if (!home)
|
||||
return;
|
||||
|
||||
if (snprintf(old_path, sizeof(old_path), "%s/.obs-studio", home) <= 0)
|
||||
return;
|
||||
|
||||
/* make base xdg path if it doesn't already exist */
|
||||
if (GetAppConfigPath(new_path, sizeof(new_path), "") <= 0)
|
||||
return;
|
||||
if (os_mkdirs(new_path) == MKDIR_ERROR)
|
||||
return;
|
||||
|
||||
if (GetAppConfigPath(new_path, sizeof(new_path), "obs-studio") <= 0)
|
||||
return;
|
||||
|
||||
if (os_file_exists(old_path) && !os_file_exists(new_path)) {
|
||||
rename(old_path, new_path);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void delete_oldest_file(bool has_prefix, const char *location)
|
||||
{
|
||||
BPtr<char> logDir(GetAppConfigPathPtr(location));
|
||||
@@ -2467,6 +2496,10 @@ int main(int argc, char *argv[])
|
||||
|
||||
base_get_log_handler(&def_log_handler, nullptr);
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
move_to_xdg();
|
||||
#endif
|
||||
|
||||
obs_set_cmdline_args(argc, argv);
|
||||
|
||||
for (int i = 1; i < argc; i++) {
|
||||
|
||||
Reference in New Issue
Block a user