rem: if (flash_extra_frame && old_r.extent.width
add: if (old_r.extent.width
context: SetFlashRect (PRECT pRect, FRAME f){	RECT clip_r, temp_r, old_r;	CONTEXT OldContext;	FRAME old_f;	if (pRect != (PRECT)~0L)	{		GetContextClipRect (&clip_r);		OldContext = SetContext (ScreenContext);	}	else	{		OldContext = SetContext (StatusContext);		GetContextClipRect (&clip_r);		pRect = &temp_r;		temp_r.corner.x = RADAR_X - clip_r.corner.x;		temp_r.corner.y = RADAR_Y - clip_r.corner.y;		temp_r.extent.width = RADAR_WIDTH;		temp_r.extent.height = RADAR_HEIGHT;		SetContext (ScreenContext);	}	old_r = flash_rect;	old_f = flash_frame;	if (pRect == 0 || pRect->extent.width == 0)	{		flash_rect.extent.width = 0;		if (flash_task)		{			ClearSemaphore (GraphicsSem);			ConcludeTask (flash_task);			SetSemaphore (GraphicsSem);		}	}	else	{		flash_rect = *pRect;		flash_rect.corner.x += clip_r.corner.x;		flash_rect.corner.y += clip_r.corner.y;		flash_rect.extent.height += flash_rect.corner.y & 1;		flash_rect.corner.y &= ~1;		if (flash_task == 0)		{			flash_task = AssignTask (flash_rect_func, 2048,					"flash rectangle");		}	}		flash_frame = f;	if (flash_extra_frame && old_r.extent.width			&& (old_r.extent.width != flash_rect.extent.width			|| old_r.extent.height != flash_rect.extent.height			|| old_r.corner.x != flash_rect.corner.x			|| old_r.corner.y != flash_rect.corner.y			|| old_f != flash_frame))	{		STAMP s;		s.origin.x = old_r.corner.x;		s.origin.y = old_r.corner.y;		s.frame = flash_extra_frame;		DrawStamp (&s);	}		if (flash_rect.extent.width)	{		if (flash_extra_frame)			DestroyDrawable (ReleaseDrawable (flash_extra_frame));		flash_extra_frame = CaptureDrawable (LoadDisplayPixmap (			&flash_rect, (FRAME)0)			);	}	flash_changed = 1;	SetContext (OldContext);}