Skip to content

Commit e0a86dc

Browse files
added transfer of sysmodules path and fonts path (#4175)
1 parent 31b2d9c commit e0a86dc

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/core/emulator_settings.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,41 @@ bool EmulatorSettingsImpl::TransferSettings() {
633633
LOG_WARNING(Config, "Failed to transfer addon install directory: {}", e.what());
634634
}
635635
}
636+
if (og_data.contains("General")) {
637+
const toml::value& general = og_data.at("General");
638+
auto& s = m_general;
639+
// Transfer sysmodules install directory
640+
try {
641+
std::string sysmodules_install_dir_str;
642+
if (general.contains("sysModulesPath")) {
643+
const auto& sysmodule_value = general.at("sysModulesPath");
644+
if (sysmodule_value.is_string()) {
645+
sysmodules_install_dir_str = toml::get<std::string>(sysmodule_value);
646+
if (!sysmodules_install_dir_str.empty()) {
647+
s.sys_modules_dir.value = std::filesystem::path{sysmodules_install_dir_str};
648+
}
649+
}
650+
}
651+
} catch (const std::exception& e) {
652+
LOG_WARNING(Config, "Failed to transfer sysmodules install directory: {}", e.what());
653+
}
654+
655+
// Transfer font install directory
656+
try {
657+
std::string font_install_dir_str;
658+
if (general.contains("fontsPath")) {
659+
const auto& font_value = general.at("fontsPath");
660+
if (font_value.is_string()) {
661+
font_install_dir_str = toml::get<std::string>(font_value);
662+
if (!font_install_dir_str.empty()) {
663+
s.font_dir.value = std::filesystem::path{font_install_dir_str};
664+
}
665+
}
666+
}
667+
} catch (const std::exception& e) {
668+
LOG_WARNING(Config, "Failed to transfer font install directory: {}", e.what());
669+
}
670+
}
636671

637672
return true;
638673
}

0 commit comments

Comments
 (0)