private void OkBtn_Click(object sender, EventArgs e) { UserSelectedProjectSettings SelectedProject; if (TryGetSelectedProject(out SelectedProject)) { DetectProjectSettingsTask NewDetectedProjectSettings = new DetectProjectSettingsTask(SelectedProject, DataFolder, CacheFolder, Log); try { string ErrorMessage; if (PerforceModalTask.Execute(this, Perforce, NewDetectedProjectSettings, "Opening Project", "Opening project, please wait...", Log, out ErrorMessage) != ModalTaskResult.Succeeded) { if (!String.IsNullOrEmpty(ErrorMessage)) { MessageBox.Show(ErrorMessage); } return; } DetectedProjectSettings = NewDetectedProjectSettings; NewDetectedProjectSettings = null; DialogResult = DialogResult.OK; Close(); } finally { if (NewDetectedProjectSettings != null) { NewDetectedProjectSettings.Dispose(); NewDetectedProjectSettings = null; } } } }
public void Dispose() { if (Task != null) { Task.Dispose(); Task = null; } }