[SHELL32] Fix Control_RunDLLW (#5400) master
authorMarcin Jabłoński <nnxcomputing@gmail.com>
Sat, 27 Apr 2024 00:28:46 +0000 (02:28 +0200)
committerGitHub <noreply@github.com>
Sat, 27 Apr 2024 00:28:46 +0000 (18:28 -0600)
commitdcf9eb060a9900e01c762c8a2fcec10e9d119518
tree2334cc19ce0344a0cb57f298cc26e6c22e1737b4
parent45aa8f8111a409270f36c7ad8967f717538bf694
[SHELL32] Fix Control_RunDLLW (#5400)

This commit makes Control_RunDLLW pass all but one tests from rostests (the one test that fails is the first one, but it only fails if the path to the test program contains a space).

- Rework string parsing in the Control_DoLaunch routine
- Do not send the CPL_STARTWPARMSW message, if no extra parameters were specified (fixes the failing Got NULL lParam2! and some CPL_STARTWPARMSW: expected -1 got %d tests)
- Do not resolve invalid dialog names to index zero, unless the name is empty (fixes some of the failing CPL_DBLCLK: expected -1 got %d tests)
- Handle quotes in the second part of wszCmd

CORE-8981
dll/win32/shell32/wine/control.c
dll/win32/syssetup/wizard.c