(svn r19671) -Fix (r19670): RoundDiv() needs to deal with signed numerators.

This commit is contained in:
frosch
2010-04-18 17:13:01 +00:00
parent a4413f4cf6
commit d391a1123e
3 changed files with 13 additions and 7 deletions

View File

@@ -550,7 +550,7 @@ static int DrawString(int left, int right, int top, char *str, const char *last,
break;
case SA_CENTER:
left = RoundDiv(initial_right + 1 + initial_left - w, 2);
left = RoundDivSU(initial_right + 1 + initial_left - w, 2);
/* right + 1 = left + w */
right = left + w - 1;
break;
@@ -823,7 +823,7 @@ int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str,
total_height = (num + 1) * mt;
}
int y = (align == SA_CENTER) ? RoundDiv(bottom + top - total_height, 2) : top;
int y = (align == SA_CENTER) ? RoundDivSU(bottom + top - total_height, 2) : top;
const char *src = buffer;
for (;;) {