Moved TASK_Create call to KERNEL initialisation routine.
Clear last error code before calling main entry point (reported by
James Juran).
diff --git a/dlls/kernel/kernel_main.c b/dlls/kernel/kernel_main.c
index bf0fb27..0e546a5 100644
--- a/dlls/kernel/kernel_main.c
+++ b/dlls/kernel/kernel_main.c
@@ -25,6 +25,8 @@
static BOOL process_attach(void)
{
HMODULE16 hModule;
+ STARTUPINFOA startup_info;
+ UINT cmdShow = 1; /* SW_SHOWNORMAL but we don't want to include winuser.h here */
/* Setup codepage info */
CODEPAGE_Init();
@@ -77,6 +79,13 @@
/* Read DOS config.sys */
if (!DOSCONF_ReadConfig()) return FALSE;
+ /* Create 16-bit task */
+ GetStartupInfoA( &startup_info );
+ if (startup_info.dwFlags & STARTF_USESHOWWINDOW) cmdShow = startup_info.wShowWindow;
+ if (!TASK_Create( (NE_MODULE *)GlobalLock16( MapHModuleLS(GetModuleHandleA(0)) ),
+ cmdShow, NtCurrentTeb(), NULL, 0 ))
+ return FALSE;
+
return TRUE;
}