Details
-
Bug
-
Resolution: Fixed
-
Minor
Description
0.4.8-dev-152-ge12763d : Works fine.
0.4.13-dev-790-g0f16d44-x86-gcc-lin-dbg : No error but opens wrong folder (My Documents)
0.4.15-dev-3847-g9b71653-x86-gcc-lin-dbg up to 0.4.15-dev-6000-g8b948ff-x86-gcc-lin-dbg : Error message
- right click on Taskbar > Add toolbar > C: (or any other existing folder structure)
- right click > Open Folder
- Fails due to "non existing path"
Function in cause : https://git.reactos.org/?p=reactos.git;a=blob;f=dll/win32/browseui/shellbars/CISFBand.cpp#l596
In fact 2 regression in a row :
Initial design by binarymaster working fine since 0.4.8-dev-152-ge12763d then broken leading to "My documents" to be open instead of expected folder (C: in this case)
REGRESSION 1 : No longer opening C: but "My Documents" instead
reactos-livecd-0.4.13-dev-789-g5972b1e-x86-gcc-lin-dbg
reactos-livecd-0.4.13-dev-790-g0f16d44-x86-gcc-lin-dbg (but opening "My documents")
Guilty commit is 0f16d44 by reactosfanboy based on a patch by DougLyons (Fixing CORE-6412 and CORE-12927) : https://github.com/reactos/reactos/commit/0f16d44b660266130f5c0807c01d01cfaa6e685d
REGRESSION 2 : No longer opening folder but showing an error
reactos-livecd-0.4.15-dev-3846-gd64ab28-x86-gcc-lin-dbg (but opening "My documents" => other regression to be investigated once this one gets fixed)
reactos-livecd-0.4.15-dev-3847-g9b71653-x86-gcc-lin-dbg
Guilty commit is g9b71653 https://github.com/reactos/reactos/commit/9b716539182864bc077e362febcda74da50287ed which now prevents ShellExecute from executing non-exe files (here "open" verb on a folder) and ShellExecuteEx is used by IDM_OPEN_FOLDER processing in CISFBand::InvokeCommand https://git.reactos.org/?p=reactos.git;a=blob;f=dll/win32/browseui/shellbars/CISFBand.cpp#l608
This change is wrong as looking at https://learn.microsoft.com/en-us/windows/win32/shell/launch no obvious reason to fails on non-exe files is indicated. Moreover it's used to open a folder and .bmp files in the exemple and not sure that using ShellExecuteEx with ITEMIDLIST structure (with SEE_MASK_IDLIST) is relevant for regular folders (when it's not for an object in the Shell namespace)
Attachments
Issue Links
- blocks
-
CORE-6412 kernel32: rtl: shell32 FoxitReader4: starts directly instead of launching setup wizard (spaces in file name)
- Resolved
-
CORE-12927 ShellExecute: does not correctly handle spaces inside lpFile.
- Resolved
-
CORE-18038 Shortcuts execute non-EXE targets
- Resolved
- relates to
-
CORE-12664 Report for ShellExecute(Ex) bugs EPIC
- Untriaged