diff --git a/reactos/dll/win32/shell32/recyclebin.c b/reactos/dll/win32/shell32/recyclebin.c index f11fee9ff20..e2276f41060 100644 --- a/reactos/dll/win32/shell32/recyclebin.c +++ b/reactos/dll/win32/shell32/recyclebin.c @@ -796,3 +796,16 @@ BOOL SH_ShowRecycleBinProperties(WCHAR sDrive) return TRUE; } +BOOL +TRASH_CanTrashFile(LPCWSTR wszPath) +{ + FIXME("(%s)\n", debugstr_w(wszPath)); + return TRUE; +} + +BOOL +TRASH_TrashFile(LPCWSTR wszPath) +{ + FIXME("(%s)\n", debugstr_w(wszPath)); + return FALSE; +} diff --git a/reactos/dll/win32/shell32/shell32_ros.diff b/reactos/dll/win32/shell32/shell32_ros.diff index c43c18d96f3..2d7617fd589 100644 --- a/reactos/dll/win32/shell32/shell32_ros.diff +++ b/reactos/dll/win32/shell32/shell32_ros.diff @@ -1235,29 +1235,7 @@ Index: shlfileop.c =================================================================== --- shlfileop.c (revision 29513) +++ shlfileop.c (working copy) -@@ -1303,8 +1303,8 @@ - return ERROR_SUCCESS; - - /* Windows also checks only the first item */ -- bTrash = (lpFileOp->fFlags & FOF_ALLOWUNDO) -- && TRASH_CanTrashFile(flFrom->feFiles[0].szFullPath); -+ bTrash = (lpFileOp->fFlags & FOF_ALLOWUNDO); -+ //&& TRASH_CanTrashFile(flFrom->feFiles[0].szFullPath); - - if (!(lpFileOp->fFlags & FOF_NOCONFIRMATION) || (!bTrash && lpFileOp->fFlags & FOF_WANTNUKEWARNING)) - if (!confirm_delete_list(lpFileOp->hwnd, lpFileOp->fFlags, bTrash, flFrom)) -@@ -1325,8 +1325,10 @@ - if (bTrash) - { - BOOL bDelete; -+#if 0 - if (TRASH_TrashFile(fileEntry->szFullPath)) - continue; -+#endif - - /* Note: Windows silently deletes the file in such a situation, we show a dialog */ - if (!(lpFileOp->fFlags & FOF_NOCONFIRMATION) || (lpFileOp->fFlags & FOF_WANTNUKEWARNING)) -@@ -1696,16 +1698,6 @@ +@@ -1696,16 +1696,6 @@ } /*********************************************************************** @@ -1274,7 +1252,7 @@ Index: shlfileop.c * SHPathPrepareForWriteW (SHELL32.@) */ HRESULT WINAPI SHPathPrepareForWriteW(HWND hwnd, IUnknown *modless, LPCWSTR path, DWORD flags) -@@ -1767,3 +1759,13 @@ +@@ -1767,3 +1757,13 @@ else return HRESULT_FROM_WIN32(ERROR_DIRECTORY); } diff --git a/reactos/dll/win32/shell32/shlfileop.c b/reactos/dll/win32/shell32/shlfileop.c index fb9ee60c83d..94ec1613d9e 100644 --- a/reactos/dll/win32/shell32/shlfileop.c +++ b/reactos/dll/win32/shell32/shlfileop.c @@ -1303,10 +1303,8 @@ static HRESULT delete_files(LPSHFILEOPSTRUCTW lpFileOp, FILE_LIST *flFrom) return ERROR_SUCCESS; /* Windows also checks only the first item */ - bTrash = (lpFileOp->fFlags & FOF_ALLOWUNDO); -#if 0 + bTrash = (lpFileOp->fFlags & FOF_ALLOWUNDO) && TRASH_CanTrashFile(flFrom->feFiles[0].szFullPath); -#endif if (!(lpFileOp->fFlags & FOF_NOCONFIRMATION) || (!bTrash && lpFileOp->fFlags & FOF_WANTNUKEWARNING)) if (!confirm_delete_list(lpFileOp->hwnd, lpFileOp->fFlags, bTrash, flFrom)) @@ -1327,10 +1325,8 @@ static HRESULT delete_files(LPSHFILEOPSTRUCTW lpFileOp, FILE_LIST *flFrom) if (bTrash) { BOOL bDelete; -#if 0 if (TRASH_TrashFile(fileEntry->szFullPath)) continue; -#endif /* Note: Windows silently deletes the file in such a situation, we show a dialog */ if (!(lpFileOp->fFlags & FOF_NOCONFIRMATION) || (lpFileOp->fFlags & FOF_WANTNUKEWARNING))