rem: while (TaskControl.tc.XFormTask == 0)
add: while (TaskControl.tc.XFormTask == 0 && (!Task_ReadState (task, TASK_EXIT)))
context: int xform_clut_task (void *foo){	SIZE TDelta, TTotal;	DWORD CurTime;	XForming = TRUE;	while (TaskControl.tc.XFormTask == 0)		TaskSwitch ();	TTotal = TaskControl.Ticks;	TaskControl.tc.XFormTask = 0;	{		CurTime = GetTimeCounter ();		do		{			DWORD StartTime;			StartTime = CurTime;			SleepThreadUntil (CurTime + 2);			CurTime = GetTimeCounter ();			if (!XForming || (TDelta = (SIZE)(CurTime - StartTime)) > TTotal)				TDelta = TTotal;			cur += (end - cur) * TDelta / TTotal;			//_threedo_change_clut (cur);		} while (TTotal -= TDelta);	}	XForming = FALSE;	(void) foo;  /* Satisfying compiler (unused parameter) */	return 0;}