patch 9.1.0468: GvimExt does not consult HKEY_CURRENT_USER Commit: https://github.com/vim/vim/commit/84d9611b673230a0e1e8fd57423976d30ef36308 Author: David Wagner <dwag...@rydia.us> Date: Wed Jun 5 20:01:19 2024 +0200
patch 9.1.0468: GvimExt does not consult HKEY_CURRENT_USER Problem: GvimExt does not consult HKEY_CURRENT_USER Solution: Make GvimExt first consult HKEY_CURRENT_USER and then fall back to HKEY_LOCAL_MACHINE to find gvim (David Wagner) fixes: #14904 closes: #14917 Signed-off-by: David Wagner <dwag...@rydia.us> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/GvimExt/gvimext.cpp b/src/GvimExt/gvimext.cpp index e58b14255..f98423c15 100644 --- a/src/GvimExt/gvimext.cpp +++ b/src/GvimExt/gvimext.cpp @@ -55,9 +55,11 @@ getGvimName(char *name, int runtime) HKEY keyhandle; DWORD hlen; - // Get the location of gvim from the registry. + // Get the location of gvim from the registry. Try + // HKEY_CURRENT_USER first, then fall back to HKEY_LOCAL_MACHINE if + // not found. name[0] = 0; - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\Vim\Gvim", 0, + if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Vim\Gvim", 0, KEY_READ, &keyhandle) == ERROR_SUCCESS) { hlen = BUFSIZE; @@ -69,6 +71,19 @@ getGvimName(char *name, int runtime) RegCloseKey(keyhandle); } + if ((name[0] == 0) && + (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\Vim\Gvim", 0, + KEY_READ, &keyhandle) == ERROR_SUCCESS)) + { + hlen = BUFSIZE; + if (RegQueryValueEx(keyhandle, "path", 0, NULL, (BYTE *)name, &hlen) + != ERROR_SUCCESS) + name[0] = 0; + else + name[hlen] = 0; + RegCloseKey(keyhandle); + } + // Registry didn't work, use the search path. if (name[0] == 0) strcpy(name, searchpath((char *)"gvim.exe")); diff --git a/src/version.c b/src/version.c index 92498e1da..92106bc3a 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 468, /**/ 467, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/E1sEvA7-00CDUl-Jk%40256bit.org.