From 70422cda517e3787513e848784739104bd9acd17 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Wed, 26 Mar 2025 19:59:08 +0100 Subject: [PATCH] [SHELL32] Fix starting disk cleanup from drive properties CORE-12314 --- dll/win32/shell32/dialogs/drvdefext.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dll/win32/shell32/dialogs/drvdefext.cpp b/dll/win32/shell32/dialogs/drvdefext.cpp index fe470dbd08e..785de9daa1c 100644 --- a/dll/win32/shell32/dialogs/drvdefext.cpp +++ b/dll/win32/shell32/dialogs/drvdefext.cpp @@ -553,8 +553,13 @@ CDrvDefExt::GeneralPageProc( WCHAR wszCmd[MAX_PATH]; StringCbPrintfW(wszCmd, sizeof(wszCmd), wszBuf, pDrvDefExt->m_wszDrive[0]); + WCHAR* wszArgs = PathGetArgsW(wszCmd); + if (wszArgs && *wszArgs && wszArgs != wszCmd) + wszArgs[-1] = UNICODE_NULL; + else + wszArgs = NULL; - if (ShellExecuteW(hwndDlg, NULL, wszCmd, NULL, NULL, SW_SHOW) <= (HINSTANCE)32) + if (ShellExecuteW(hwndDlg, NULL, wszCmd, wszArgs, NULL, SW_SHOW) <= (HINSTANCE)32) ERR("Failed to create cleanup process %ls\n", wszCmd); } }