https://bugs.winehq.org/show_bug.cgi?id=52048
Basically, when calling CreateProcess with current console inheritance (no CREATE_NEW_CONSOLE nor DETACHED_PROCESS), and that the child is a CUI program, native behaves as if CREATE_NEW_CONSOLE was passed.
builtin doesn't...
this serie: - adds a test case for this case (which requires to extend makedep to support creation of exe sub-modules) - fixes kernelbase accordingly - but also requires to fix the usage of CreateProcess that will now force the creation of a console + one patch of wow64 redirection (only for CUI executables) + after quickly auditing all CreateProcess calls, I fixed a couple of them.
---
Eric Pouech (4): tools/makedep: extend submodule in testdll to support exe as well as dll dlls/kernel32/tests: add tests about CreateProcess on CUI programs with console inheritance programs: don't recreate a console when redirecting a program to wow64 dlls/kernelbase: in CreateProcess, allocate a console for CUI process
dlls/kernel32/tests/Makefile.in | 4 ++ dlls/kernel32/tests/console.c | 56 ++++++++++++++++++++++++++++ dlls/kernel32/tests/console_cui.c | 31 +++++++++++++++ dlls/kernel32/tests/console_cui.spec | 0 dlls/kernelbase/process.c | 6 ++- programs/services/services.c | 2 +- programs/uninstaller/main.c | 6 ++- programs/winedbg/winedbg.c | 3 +- programs/wusa/main.c | 3 +- tools/makedep.c | 10 +++-- 10 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 dlls/kernel32/tests/console_cui.c create mode 100644 dlls/kernel32/tests/console_cui.spec