summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-09-16 16:57:41 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-09-16 16:57:41 (GMT)
commite52e9ce91ccca13115fec0fdb0111e7e5d39d10d (patch)
tree92f7c596b235a5ab34f1c40917f5c90574738186 /src
parentbd02c36426f0ee9196ac971f8f9b7e03eb35dbd3 (diff)
downloadpowder-e52e9ce91ccca13115fec0fdb0111e7e5d39d10d.zip
powder-e52e9ce91ccca13115fec0fdb0111e7e5d39d10d.tar.gz
Prevent UI thread lockup when drawing hideously large progress bars for no reason.
Diffstat (limited to 'src')
-rw-r--r--src/interface/ProgressBar.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/interface/ProgressBar.cpp b/src/interface/ProgressBar.cpp
index 8bc765b..a622bab 100644
--- a/src/interface/ProgressBar.cpp
+++ b/src/interface/ProgressBar.cpp
@@ -33,6 +33,8 @@ void ProgressBar::Draw(const Point & screenPos)
{
if(progress > 0)
{
+ if(progress > 100)
+ progress = 100;
float size = float(Size.X-4)*(float(progress)/100.0f); // TIL...
size = std::min(std::max(size, 0.0f), float(Size.X-4));
g->fillrect(screenPos.X + 2, screenPos.Y + 2, size, Size.Y-4, progressBarColour.Red, progressBarColour.Green, progressBarColour.Blue, 255);