Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-addins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@Mikes-iMac.fritz.box>2019-06-24 14:33:03 +0300
committerMike Krüger <mkrueger@Mikes-iMac.fritz.box>2019-06-24 14:34:40 +0300
commit228d4879880935f93410915d8ad8c6c156edf505 (patch)
treedbcc33f9c2e55834f11a41e6947160be831c4168 /Mono.Addins.Setup
parent4c98412e1fba75bb73af82b81f65ce86846caf38 (diff)
Fixes VSTS Bug 935390: MonoDevelop.Ide.Gui.GLibLogging+CriticalGtkException exception in Gtk.ProgressBar.gtk_progress_bar_set_fraction()
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/935390
Diffstat (limited to 'Mono.Addins.Setup')
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs
index 5698ea9..e36e00e 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs
@@ -126,11 +126,15 @@ namespace Mono.Addins.Setup.ProgressMonitoring
if (done) return 1.0;
double work = 0;
+ double totalSize = 0;
for (int n = tasks.Count - 1; n >= 0; n--) {
Task t = (Task) tasks [n];
- work = t.GetWorkPercent (work) * (double)t.StepSize;
+ work += Math.Max (0, t.GetWorkPercent (work) * (double)t.StepSize);
+ totalSize += t.StepSize;
}
- return work;
+ if (totalSize > 0)
+ work /= totalSize;
+ return Math.Min (1.0, work);
}
}