Fix divide-by-zero error

...  when displaying save buttons that have zero votes.
This commit is contained in:
Simon Robertshaw
2012-11-15 13:01:25 +00:00
parent 51a5af6d5d
commit 785fbcefdf

View File

@@ -68,19 +68,27 @@ SaveButton::SaveButton(Point position, Point size, SaveInfo * save):
votesString = votes; votesString = votes;
int voteMax = std::max(save->GetVotesUp(),save->GetVotesDown()); int voteMax = std::max(save->GetVotesUp(),save->GetVotesDown());
if (voteMax < 34) if (voteMax)
{ {
float ry = 33.0f/voteMax; if (voteMax < 34)
if (voteMax<8) {
ry = ry/(8-voteMax); float ry = 33.0f/voteMax;
voteBarHeightUp = (int)(save->GetVotesUp()*ry)-1; if (voteMax<8)
voteBarHeightDown = (int)(save->GetVotesDown()*ry)-1; ry = ry/(8-voteMax);
voteBarHeightUp = (int)(save->GetVotesUp()*ry)-1;
voteBarHeightDown = (int)(save->GetVotesDown()*ry)-1;
}
else
{
float ry = voteMax/33.0f;
voteBarHeightUp = (int)(save->GetVotesUp()/ry)-1;
voteBarHeightDown = (int)(save->GetVotesDown()/ry)-1;
}
} }
else else
{ {
float ry = voteMax/33.0f; voteBarHeightUp = 0;
voteBarHeightUp = (int)(save->GetVotesUp()/ry)-1; voteBarHeightDown = 0;
voteBarHeightDown = (int)(save->GetVotesDown()/ry)-1;
} }
} }
} }