Commit 9435f3ce authored by Mariusz Pluciński's avatar Mariusz Pluciński Committed by Alexandre Julliard

shell32: Add support of KF_REDIRECT_DEL_SOURCE_CONTENTS flag to redirection.

parent 104bf57c
......@@ -3232,12 +3232,30 @@ static HRESULT redirect_known_folder(
lstrcpyW(dstPath, pszTargetPath);
ZeroMemory(&fileOp, sizeof(fileOp));
fileOp.wFunc = FO_COPY;
if(flags & KF_REDIRECT_DEL_SOURCE_CONTENTS)
fileOp.wFunc = FO_MOVE;
else
fileOp.wFunc = FO_COPY;
fileOp.pFrom = srcPath;
fileOp.pTo = dstPath;
fileOp.fFlags = FOF_NO_UI;
hr = (SHFileOperationW(&fileOp)==0 ? S_OK : E_FAIL);
if(flags & KF_REDIRECT_DEL_SOURCE_CONTENTS)
{
ZeroMemory(srcPath, sizeof(srcPath));
lstrcpyW(srcPath, lpSrcPath);
ZeroMemory(&fileOp, sizeof(fileOp));
fileOp.wFunc = FO_DELETE;
fileOp.pFrom = srcPath;
fileOp.fFlags = FOF_NO_UI;
hr = (SHFileOperationW(&fileOp)==0 ? S_OK : E_FAIL);
}
}
CoTaskMemFree(lpSrcPath);
......
......@@ -1397,7 +1397,6 @@ static void test_knownFolders(void)
/* check if original directory was really removed */
dwAttributes = GetFileAttributesW(sExamplePath);
todo_wine
ok(dwAttributes==INVALID_FILE_ATTRIBUTES, "directory should not exist, but has attributes: 0x%08x\n", dwAttributes );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment