From 0211d70a15353928d84d3b96b3b48357316ef1d9 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 30 May 2000 19:46:11 +0000 Subject: [PATCH] Make sure initial task is not marked as 32-bit. --- loader/task.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/loader/task.c b/loader/task.c index 7725545194c..693d3eca275 100644 --- a/loader/task.c +++ b/loader/task.c @@ -294,10 +294,8 @@ BOOL TASK_Create( NE_MODULE *pModule, UINT16 cmdShow, TEB *teb, LPCSTR cmdline, pTask->hSelf = hTask; pTask->flags = 0; - if (pModule->flags & NE_FFLAGS_WIN32) - pTask->flags |= TDBF_WIN32; - if (pModule->lpDosTask) - pTask->flags |= TDBF_WINOLDAP; + if (teb->tibflags & TEBF_WIN32) pTask->flags |= TDBF_WIN32; + if (pModule->lpDosTask) pTask->flags |= TDBF_WINOLDAP; pTask->hInstance = pModule->self; pTask->hPrevInstance = 0; @@ -416,11 +414,6 @@ static void TASK_DeleteTask( HTASK16 hTask ) pTask->magic = 0xdead; /* invalidate signature */ - /* Delete the Win32 part of the task */ - -/* PROCESS_FreePDB( pTask->teb->process ); FIXME */ -/* K32OBJ_DecCount( &pTask->teb->header ); FIXME */ - /* Free the selector aliases */ GLOBAL_FreeBlock( pTask->hCSAlias ); @@ -643,7 +636,7 @@ void TASK_Reschedule(void) } /* If we are still the task with highest priority, just return ... */ - if ( mode == MODE_YIELD && hNewTask == hCurrentTask ) + if ( mode == MODE_YIELD && hNewTask && hNewTask == hCurrentTask ) { TRACE("returning to the current task (%04x)\n", hCurrentTask ); SYSLEVEL_LeaveWin16Lock();