Alexandre Julliard : comctl32: Create the manifest directory if needed ( spotted by Dan Kegel).
Module: wine Branch: master Commit: 4bac1e959dc6a88192abb11ea2aa9cdee1a79b56 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4bac1e959dc6a88192abb11ea2... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Mon Aug 20 12:46:37 2007 +0200 comctl32: Create the manifest directory if needed (spotted by Dan Kegel). --- dlls/comctl32/commctrl.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c index ea42db8..0f8ad19 100644 --- a/dlls/comctl32/commctrl.c +++ b/dlls/comctl32/commctrl.c @@ -145,7 +145,8 @@ static const WCHAR strCC32SubclassInfo[] = { static BOOL create_manifest( BOOL install ) { - static const WCHAR dirW[] = {'\\','w','i','n','s','x','s','\\','m','a','n','i','f','e','s','t','s','\\',0}; + static const WCHAR winsxsW[] = {'\\','w','i','n','s','x','s',0}; + static const WCHAR manifestsW[] = {'\\','m','a','n','i','f','e','s','t','s','\\',0}; DWORD len, written; WCHAR *buffer; @@ -154,10 +155,14 @@ static BOOL create_manifest( BOOL install ) len = MultiByteToWideChar( CP_UTF8, 0, manifest_filename, sizeof(manifest_filename), NULL, 0 ); len += GetWindowsDirectoryW( NULL, 0 ); - len = len * sizeof(WCHAR) + sizeof(dirW); - if (!(buffer = HeapAlloc( GetProcessHeap(), 0, len ))) return FALSE; + len += lstrlenW(winsxsW); + len += lstrlenW(manifestsW); + if (!(buffer = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) return FALSE; GetWindowsDirectoryW( buffer, len ); - lstrcatW( buffer, dirW ); + lstrcatW( buffer, winsxsW ); + CreateDirectoryW( buffer, NULL ); + lstrcatW( buffer, manifestsW ); + CreateDirectoryW( buffer, NULL ); MultiByteToWideChar( CP_UTF8, 0, manifest_filename, sizeof(manifest_filename), buffer + lstrlenW(buffer), len ); if (install)
participants (1)
-
Alexandre Julliard