https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d009de44adaaf3a281b0ae35b699a42c1673323e

commit d009de44adaaf3a281b0ae35b699a42c1673323e
Author:     Whindmar Saksit <whinds...@proton.me>
AuthorDate: Thu Aug 22 14:34:22 2024 +0200
Commit:     GitHub <nore...@github.com>
CommitDate: Thu Aug 22 14:34:22 2024 +0200

    [SHELL32] CDefaultContextMenu must forward the .lnk path (#7264)
    
    Forward the .lnk path (if any) so consrv gets STARTF_TITLEISLINKNAME and 
can apply console properties and icon from the shortcut.
---
 dll/win32/shell32/CDefaultContextMenu.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dll/win32/shell32/CDefaultContextMenu.cpp 
b/dll/win32/shell32/CDefaultContextMenu.cpp
index ed2e95bb1c7..751958da3f8 100644
--- a/dll/win32/shell32/CDefaultContextMenu.cpp
+++ b/dll/win32/shell32/CDefaultContextMenu.cpp
@@ -1357,6 +1357,9 @@ CDefaultContextMenu::InvokePidl(LPCMINVOKECOMMANDINFOEX 
lpcmi, LPCITEMIDLIST pid
     else if (!StrIsNullOrEmpty(lpcmi->lpParameters) && 
__SHCloneStrAtoW(&pszParamsW, lpcmi->lpParameters))
         sei.lpParameters = pszParamsW;
 
+    if (!sei.lpClass && (lpcmi->fMask & (CMIC_MASK_HASLINKNAME | 
CMIC_MASK_HASTITLE)) && unicode)
+        sei.lpClass = lpcmi->lpTitleW; // Forward .lnk path from 
CShellLink::DoOpen (for consrv STARTF_TITLEISLINKNAME)
+
     ShellExecuteExW(&sei);
     ILFree(pidlFull);
 

Reply via email to