blob: e034e84c5bd8cce573bae7b316d94afd40317737 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c
index fa143857bc2..aa37d92ef70 100644
--- a/dlls/kernelbase/console.c
+++ b/dlls/kernelbase/console.c
@@ -2342,6 +2342,13 @@ void init_console( void )
if (RtlImageNtHeader( mod )->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_CUI)
alloc_console( no_window );
}
- else if (params->ConsoleHandle && params->ConsoleHandle != CONSOLE_HANDLE_SHELL_NO_WINDOW)
- create_console_connection( params->ConsoleHandle );
+ else if (params->ConsoleHandle)
+ {
+ HMODULE mod = GetModuleHandleW( NULL );
+ if (params->ConsoleHandle != CONSOLE_HANDLE_SHELL_NO_WINDOW &&
+ RtlImageNtHeader( mod )->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_CUI)
+ create_console_connection( params->ConsoleHandle );
+ else
+ params->ConsoleHandle = NULL;
+ }
}
|