protected virtual async void OnButtonAddRemoteClicked(object sender, EventArgs e) { var dlg = new EditRemoteDialog(repo, null); try { if (MessageService.RunCustomDialog(dlg) == (int)ResponseType.Ok) { var token = destroyTokenSource.Token; await repo.AddRemoteAsync(dlg.RemoteName, dlg.RemoteUrl, dlg.ImportTags); if (!token.IsCancellationRequested) { FillRemotes(); } } } finally { dlg.Destroy(); dlg.Dispose(); } }