anchor.diff:    if not FIdIRC.Connected then
       Exit;
   
  -  FIdIRC.IOHandler.InputBuffer.Clear;
  -  FIdIRC.Disconnect;
  +  try
  +    FIdIRC.Disconnect;
  +  except
  +    try
  +      FIdIRC.Disconnect(False);
  +    except
  +    end;
  +  end;
   end;
   
   procedure TIRC.JoinChannel(const Name: string);
  
positive.code:   FServerMessage := '';
  end;
  
  procedure TIRC.SendUserJoined;
  begin
    FOnUserJoined(FChannel, FNickname);
  end;
  
  procedure TIRC.Connect;
  begin
    if FIdIRC.Connected then
    begin
      if Assigned(FOnShowPopup) then
         FOnShowPopup(Format(StrAlreadyConnected, [FIdIRC.Host]));
      Exit;
    end;
    ReadConfig;
    FIdIRC.Connect;
    ConfigureEncoding;
  end;
  
  
negative.code:   FNickName := ANickname;
    TIdSync.SynchronizeMethod(@SendUserJoined);
  
    SendNotice(StrJoined + ANickname + ' - ' + AHost + ' - ' + AChannel);
  end;
  
  procedure TIRC.OnLeave(ASender: TIdContext; const ANickname, AHost, AChannel, APartMessage: String);
  