diff --git a/plugins/builtin/source/content/views/view_settings.cpp b/plugins/builtin/source/content/views/view_settings.cpp index c013fd7af..e3e4019d9 100644 --- a/plugins/builtin/source/content/views/view_settings.cpp +++ b/plugins/builtin/source/content/views/view_settings.cpp @@ -118,7 +118,7 @@ namespace hex::plugin::builtin { auto newValue = widget->store(); // Write new value to settings - ContentRegistry::Settings::write(category.unlocalizedName, setting.unlocalizedName, newValue); + ContentRegistry::Settings::impl::getSetting(category.unlocalizedName, setting.unlocalizedName, newValue) = newValue; // Print a debug message log::debug("Setting [{} / {}]: Value was changed to {}", category.unlocalizedName.get(), setting.unlocalizedName.get(), nlohmann::to_string(newValue)); @@ -131,6 +131,8 @@ namespace hex::plugin::builtin { m_restartRequested = true; m_triggerPopup = true; } + + ContentRegistry::Settings::impl::store(); } } diff --git a/plugins/fonts/source/font_loader.cpp b/plugins/fonts/source/font_loader.cpp index c89b94bc1..7a127b059 100644 --- a/plugins/fonts/source/font_loader.cpp +++ b/plugins/fonts/source/font_loader.cpp @@ -93,12 +93,7 @@ namespace hex::fonts::loader { bool loadFonts() { for (auto &[name, fontDefinition] : ImHexApi::Fonts::impl::getFontDefinitions()) { auto &widget = addFontSettingsWidget(name) - .setChangedCallback([name, &fontDefinition, firstLoad = true](auto &widget) mutable { - if (firstLoad) { - firstLoad = false; - return; - } - + .setChangedCallback([name, &fontDefinition](auto &widget) mutable { TaskManager::doLater([name, &fontDefinition, &widget] { loadFontVariations(widget, name, fontDefinition); });