From 4628ff4177adcd5e34da7f1549e4737d59127279 Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes <jon.w.wilkes@gmail.com> Date: Mon, 5 Dec 2016 17:13:40 -0500 Subject: [PATCH] for reading preferences on Windows, try HKCU first, then fall back to HKLM. For writing, only write to HKCU --- pd/src/s_file.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pd/src/s_file.c b/pd/src/s_file.c index f2b127c35..1c18096f5 100644 --- a/pd/src/s_file.c +++ b/pd/src/s_file.c @@ -189,11 +189,16 @@ static int sys_getpreference(const char *key, char *value, int size) { HKEY hkey; DWORD bigsize = size; - LONG err = RegOpenKeyEx(HKEY_LOCAL_MACHINE, + LONG err = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Purr-Data", 0, KEY_QUERY_VALUE, &hkey); if (err != ERROR_SUCCESS) { - return (0); + err = RegOpenKeyEx(HKEY_LOCAL_MACHINE, + "Software\\Purr-Data", 0, KEY_QUERY_VALUE, &hkey); + if (err != ERROR_SUCCESS) + { + return (0); + } } err = RegQueryValueEx(hkey, key, 0, 0, value, &bigsize); if (err != ERROR_SUCCESS) @@ -216,7 +221,7 @@ static void sys_initsavepreferences( void) static void sys_putpreference(const char *key, const char *value) { HKEY hkey; - LONG err = RegCreateKeyEx(HKEY_LOCAL_MACHINE, + LONG err = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Purr-Data", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hkey, NULL); if (err != ERROR_SUCCESS) -- GitLab