in src/AccessibilityInsights/MainWindowHelpers/Timers.cs [45:91]
private void OntimerSelectorElapsedEvent(object sender, ElapsedEventArgs e)
{
if (this.timerSelector != null)
{
if (AllowFurtherAction)
{
Dispatcher.Invoke(delegate ()
{
lock (_lockObject)
{
if (this.CurrentPage != AppPage.Exit && AllowFurtherAction)
{
var sa = SelectAction.GetDefaultInstance();
var cecId = sa.SelectedElementContextId;
var cec = cecId.HasValue ? GetDataAction.GetElementContext(cecId.Value) : null;
if (sa.Select())
{
var ec = GetDataAction.GetElementContext(sa.SelectedElementContextId.Value);
if ((cec == null || cec.Element.IsSameUIElement(ec.Element) == false) && ec.Element.IsRootElement() == false)
{
HandleTargetSelectionChanged();
}
if (!sa.IsPaused)
{
cec?.Dispose();
cec = null;
}
}
}
}
});
}
lock (_lockObject)
{
EnableTimerSafely(timerSelector, true); // make sure that it is disabled.
}
}
else
{
lock (_lockObject)
{
EnableTimerSafely(timerSelector, false); // make sure that it is disabled.
}
}
}