From adfd2966386a44ca9b2160c251619cdf7198222f Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 21 Oct 2023 14:57:03 +0200 Subject: [PATCH] Fix user settings on Windows Signed-off-by: falkTX --- src/CardinalCommon.cpp | 4 ++-- src/CardinalUI.cpp | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/CardinalCommon.cpp b/src/CardinalCommon.cpp index a08549e..55a1aeb 100644 --- a/src/CardinalCommon.cpp +++ b/src/CardinalCommon.cpp @@ -818,9 +818,9 @@ std::string getSpecialPath(const SpecialPath type) return {}; } - WCHAR path[MAX_PATH + 256]; + WCHAR path[MAX_PATH] = {}; - if (SHGetSpecialFolderPathW(nullptr, path, csidl, FALSE)) + if (SHGetFolderPathW(nullptr, csidl, nullptr, SHGFP_TYPE_CURRENT, path) == S_OK) return string::UTF16toUTF8(path); return {}; diff --git a/src/CardinalUI.cpp b/src/CardinalUI.cpp index cf2c710..c01560f 100644 --- a/src/CardinalUI.cpp +++ b/src/CardinalUI.cpp @@ -518,6 +518,14 @@ public: rack::system::removeRecursively(fAutosavePath); #endif + #if ! DISTRHO_PLUGIN_WANT_DIRECT_ACCESS + if (fInitializer->shouldSaveSettings) + { + INFO("Save settings"); + rack::settings::save(); + } + #endif + rack::contextSet(nullptr); }