anchor.diff:  begin
     FHandle := AHandle;
   
  -//  ASSERT(Handle <> 0);
  +  { It's possible to set the Handle to zero
  +    In this case we effectively disallowing new painting
  +    until a new handle is set }
  +  if AHandle = 0 then Exit;
   
     Windows.SelectObject(Handle, FDefaultFontHandle);
     Windows.GetTextMetrics(Handle, @FFontMetrics);
  
positive.code: 
    FCanvas.SetHandle(hdcMem);
  
    if Assigned(OnPaint) then OnPaint(Self);
  
  {  Windows.BitBlt(
     FPaintStruct.hdc,       // handle to destination DC
     rect.Left,              // x-coord of destination upper-left corner
     rect.Top,               // y-coord of destination upper-left corner
  
negative.code:    0,                // x-coordinate of source upper-left corner
     0,                // y-coordinate of source upper-left corner
     SRCCOPY           // raster operation code
    );    }
  
    { Clean up }
  
    SelectObject(hdcMem, OldBitmap);
    DeleteDC(hdcMem);
    DeleteObject(NewBitmap);
  
    FCanvas.SetHandle(0);
  end;
  
  procedure TGDIWindow.EvMove;
  