internal new void ReportProgress(int percentProgress)
{
Debug.Assert(percentProgress <= 100, "Progress is greater than 100!");
if (percentProgress > 100)
percentProgress = 100;
Progress = percentProgress;
if (IsBusy == false) // try to avoid exceptions
return;
try
{
base.ReportProgress(Progress);
}
catch (InvalidOperationException ex)
{
// this will throw exception if work has already completed. let's do this to be safe.
Logger.Debug("We can safely ignore InvalidOperationException: " + ex);
}
}