Author: cwittich Date: Tue Mar 16 13:02:45 2010 New Revision: 46223
URL: http://svn.reactos.org/svn/reactos?rev=46223&view=rev Log: [SHELL32] sync SHNotifyCopyFileW to wine 1.1.40
Modified: trunk/reactos/dll/win32/shell32/shlfileop.c
Modified: trunk/reactos/dll/win32/shell32/shlfileop.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shlfileop... ============================================================================== --- trunk/reactos/dll/win32/shell32/shlfileop.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shlfileop.c [iso-8859-1] Tue Mar 16 13:02:45 2010 @@ -531,8 +531,14 @@ static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bFailIfExists) { BOOL ret; + DWORD attribs;
TRACE("(%s %s %s)\n", debugstr_w(src), debugstr_w(dest), bFailIfExists ? "failIfExists" : ""); + + /* Destination file may already exist with read only attribute */ + attribs = GetFileAttributesW(dest); + if (IsAttrib(attribs, FILE_ATTRIBUTE_READONLY)) + SetFileAttributesW(dest, attribs & ~FILE_ATTRIBUTE_READONLY);
ret = CopyFileW(src, dest, bFailIfExists); if (ret) @@ -1479,7 +1485,7 @@ /************************************************************************* * SHFreeNameMappings [shell32.246] * - * Free the mapping handle returned by SHFileoperation if FOF_WANTSMAPPINGHANDLE + * Free the mapping handle returned by SHFileOperation if FOF_WANTSMAPPINGHANDLE * was specified. * * PARAMS @@ -1496,12 +1502,12 @@
for (; i>= 0; i--) { - LPSHNAMEMAPPINGW lp = DSA_GetItemPtr((HDSA)hNameMapping, i); + LPSHNAMEMAPPINGW lp = DSA_GetItemPtr(hNameMapping, i);
SHFree(lp->pszOldPath); SHFree(lp->pszNewPath); } - DSA_Destroy((HDSA)hNameMapping); + DSA_Destroy(hNameMapping); } }