private void OnStepExecutionChanged(object sender, StepExecutionChangedEventArgs e) { try { // Don't have to do it on the UI thread since we don't expect the mapping to change during execution if (!this.progressStepToViewModelMapping.ContainsKey(e.Step)) { Debug.Assert(!e.Step.ImpactsProgress, "View model out of sync. The step execution is for unexpected step"); return; } VsThreadingHelper.RunInline(this.serviceProvider, VsTaskRunContext.UIThreadNormalPriority, () => { this.UpdateViewModelStep(e); this.UpdateMainProgress(e); }); } finally { // Flag that handled to assist with the verification, otherwise the controller will assert e.Handled(); } }
private void OnStepExecutionChanged(object sender, StepExecutionChangedEventArgs e) { AssertEventHandlerArgsNotNull(sender, e); List<StepExecutionChangedEventArgs> list; if (!this.executionChanges.TryGetValue(e.Step, out list)) { this.executionChanges[e.Step] = list = new List<StepExecutionChangedEventArgs>(); } list.Add(e); // Satisfy the sequential controller verification code e.Handled(); }