[1/6] shell32: Respect CMIC_MASK_NO_CONSOLE in ShellLink InvokeCommand.

Vincent Povirk madewokherd at gmail.com
Thu Apr 24 14:29:16 CDT 2014


This series corrects Wine's interpretation of SEE_MASK_NO_CONSOLE and
whatever else I could identify that fixing that would break. The first
two patches fix a bug where we ignore that flag when starting .lnk
files (currently we never create console windows for lnk files, and
inverting the flag's meaning without fixing this would have meant we'd
always create them), and correcting that bug is still useful on its
own. The others should be treated as a unit, since they fix other
parts of Wine that are depending on the wrong behavior.

Since ShellExecute (without the Ex) doesn't provide a way to set this
flag, I can't fully prevent the shlexec tests from creating console
windows.
-------------- next part --------------
From 5670f7c65b42fc0993071a49cec19ffb0404e10a Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Thu, 17 Apr 2014 17:30:43 -0500
Subject: [PATCH 1/6] shell32: Respect CMIC_MASK_NO_CONSOLE in ShellLink
 InvokeCommand.

---
 dlls/shell32/shelllink.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/shell32/shelllink.c b/dlls/shell32/shelllink.c
index 4000a1d..b9c9e75 100644
--- a/dlls/shell32/shelllink.c
+++ b/dlls/shell32/shelllink.c
@@ -2500,7 +2500,7 @@ ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici )
 
     memset( &sei, 0, sizeof sei );
     sei.cbSize = sizeof sei;
-    sei.fMask = SEE_MASK_UNICODE | (lpici->fMask & (SEE_MASK_NOASYNC|SEE_MASK_ASYNCOK|SEE_MASK_FLAG_NO_UI));
+    sei.fMask = SEE_MASK_UNICODE | (lpici->fMask & (SEE_MASK_NOASYNC|SEE_MASK_NO_CONSOLE|SEE_MASK_ASYNCOK|SEE_MASK_FLAG_NO_UI));
     sei.lpFile = path;
     sei.nShow = This->iShowCmd;
     sei.lpIDList = This->pPidl;
-- 
1.8.3.2



More information about the wine-patches mailing list