public override void OnIdle(bool periodic) { if (IsDisposed) { return; } foreach (var prj in ProjectInfo.Projects) { prj.Engine.OnIdle(); prj.ProcessDelayedMethodCompilerMessages(); } if (periodic) { var maxTime = TimeSpan.FromSeconds(0.05); var timer = Stopwatch.StartNew(); AsyncWorker.DispatchResponses(); while (timer.Elapsed < maxTime && AsyncWorker.DoSynchronously()) { ; } } //if (LastActiveTextView == null) // return; //Source src = GetSource(LastActiveTextView); //if (src != null && src.LastParseTime == int.MaxValue) // src.LastParseTime = 0; SynchronizeDropdowns(); //base.OnIdle(periodic); }