From 3c717e437c99b8a317f23c08d827d56cd89f1bea Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Sat, 3 Jul 1999 15:36:45 +0000 Subject: [PATCH] Bugfix: TASK_CallToStart didn't pass correct hInstance to app. --- loader/task.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/loader/task.c b/loader/task.c index c176e3e15dd..7bdbb59283b 100644 --- a/loader/task.c +++ b/loader/task.c @@ -251,12 +251,13 @@ void TASK_CallToStart(void) memset( &context, 0, sizeof(context) ); CS_reg(&context) = GlobalHandleToSel16(pSegTable[pModule->cs - 1].hSeg); - DS_reg(&context) = GlobalHandleToSel16(pSegTable[pModule->dgroup - 1].hSeg); + DS_reg(&context) = GlobalHandleToSel16(pTask->hInstance); ES_reg(&context) = pTask->hPDB; EIP_reg(&context) = pModule->ip; EBX_reg(&context) = pModule->stack_size; ECX_reg(&context) = pModule->heap_size; - EDI_reg(&context) = context.SegDs; + EDI_reg(&context) = pTask->hInstance; + ESI_reg(&context) = pTask->hPrevInstance; TRACE_(task)("Starting main program: cs:ip=%04lx:%04x ds=%04lx ss:sp=%04x:%04x\n", CS_reg(&context), IP_reg(&context), DS_reg(&context),