Moved initial AllocConsole call to kernel init (based on a patch by
Eric Pouech).
diff --git a/dlls/kernel/kernel_main.c b/dlls/kernel/kernel_main.c
index a69380e..9b64f9c 100644
--- a/dlls/kernel/kernel_main.c
+++ b/dlls/kernel/kernel_main.c
@@ -27,6 +27,8 @@
#include <signal.h>
#include "winbase.h"
+#include "wincon.h"
+#include "ntddk.h"
#include "wine/winbase16.h"
#include "wine/library.h"
@@ -42,6 +44,8 @@
extern int __wine_set_signal_handler(unsigned, int (*)(unsigned));
extern int CONSOLE_HandleCtrlC(unsigned);
+extern int main_create_flags;
+
/***********************************************************************
* KERNEL process initialisation routine
*/
@@ -106,6 +110,13 @@
/* finish the process initialisation, if needed */
__wine_set_signal_handler(SIGINT, CONSOLE_HandleCtrlC);
+ if (main_create_flags & CREATE_NEW_CONSOLE)
+ {
+ HMODULE mod = GetModuleHandleA(0);
+ if (RtlImageNtHeader(mod)->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_CUI)
+ AllocConsole();
+ }
+
return TRUE;
}