Francois Gouget : winemenubuilder: Expand environment variable references in the shortcut's WorkDir, Description and IconPath fields.
Alexandre Julliard
julliard at winehq.org
Wed Jan 23 14:36:46 CST 2008
Module: wine
Branch: master
Commit: 5819b90f9534b220fe3790b7a1cbe45624c0c2cd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5819b90f9534b220fe3790b7a1cbe45624c0c2cd
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Wed Jan 23 18:31:06 2008 +0100
winemenubuilder: Expand environment variable references in the shortcut's WorkDir, Description and IconPath fields.
---
programs/winemenubuilder/winemenubuilder.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index 92660bb..06ffd45 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -866,6 +866,7 @@ static BOOL InvokeShellLinker( IShellLinkW *sl, LPCWSTR link, BOOL bWait )
'\\','s','t','a','r','t','.','e','x','e',0};
char *link_name = NULL, *icon_name = NULL, *work_dir = NULL;
char *escaped_path = NULL, *escaped_args = NULL, *escaped_description = NULL;
+ WCHAR szTmp[INFOTIPSIZE];
WCHAR szDescription[INFOTIPSIZE], szPath[MAX_PATH], szWorkDir[MAX_PATH];
WCHAR szArgs[INFOTIPSIZE], szIconPath[MAX_PATH];
int iIconId = 0, r = -1;
@@ -890,20 +891,23 @@ static BOOL InvokeShellLinker( IShellLinkW *sl, LPCWSTR link, BOOL bWait )
}
WINE_TRACE("Link : %s\n", wine_dbgstr_a(link_name));
- szWorkDir[0] = 0;
- IShellLinkW_GetWorkingDirectory( sl, szWorkDir, MAX_PATH );
+ szTmp[0] = 0;
+ IShellLinkW_GetWorkingDirectory( sl, szTmp, MAX_PATH );
+ ExpandEnvironmentStringsW(szTmp, szWorkDir, MAX_PATH);
WINE_TRACE("workdir : %s\n", wine_dbgstr_w(szWorkDir));
- szDescription[0] = 0;
- IShellLinkW_GetDescription( sl, szDescription, INFOTIPSIZE );
+ szTmp[0] = 0;
+ IShellLinkW_GetDescription( sl, szTmp, INFOTIPSIZE );
+ ExpandEnvironmentStringsW(szTmp, szDescription, INFOTIPSIZE);
WINE_TRACE("description: %s\n", wine_dbgstr_w(szDescription));
get_cmdline( sl, szPath, MAX_PATH, szArgs, INFOTIPSIZE);
WINE_TRACE("path : %s\n", wine_dbgstr_w(szPath));
WINE_TRACE("args : %s\n", wine_dbgstr_w(szArgs));
- szIconPath[0] = 0;
- IShellLinkW_GetIconLocation( sl, szIconPath, MAX_PATH, &iIconId );
+ szTmp[0] = 0;
+ IShellLinkW_GetIconLocation( sl, szTmp, MAX_PATH, &iIconId );
+ ExpandEnvironmentStringsW(szTmp, szIconPath, MAX_PATH);
WINE_TRACE("icon file : %s\n", wine_dbgstr_w(szIconPath) );
if( !szPath[0] )
More information about the wine-cvs
mailing list