From aadee8afbad700f67ddd81c1dcbdc014c4341284 Mon Sep 17 00:00:00 2001 From: TingPing Date: Sun, 27 Oct 2013 12:51:14 -0400 Subject: [PATCH] Use a full path to configdir when using portable mode This avoids the issue of plugins changing paths on us --- src/common/cfgfiles.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c index b6305cc2..725b9632 100644 --- a/src/common/cfgfiles.c +++ b/src/common/cfgfiles.c @@ -332,7 +332,19 @@ get_xdir (void) if (portable_mode () || !get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "AppData", out, sizeof (out))) { - xdir = g_strdup (".\\config"); + char *path; + char file[MAX_PATH]; + HMODULE hModule; + + hModule = GetModuleHandle (NULL); + if (GetModuleFileName (hModule, file, sizeof(file))) + { + path = g_path_get_dirname (file); + xdir = g_build_filename (path, "config", NULL); + g_free (path); + } + else + xdir = g_strdup (".\\config"); } else {