diff -r 7237786c6197 -r 9936b201d53f src/gfx.cpp --- a/src/gfx.cpp Tue Mar 27 13:47:20 2007 +0000 +++ b/src/gfx.cpp Tue Mar 27 13:58:24 2007 +0000 @@ -548,10 +548,11 @@ mt = GetCharacterHeight((FontSize)GB(tmp, 16, 16)); total_height = (num + 1) * mt; - if (maxh != -1 && total_height > (uint)maxh) { + if (maxh != -1 && (int)total_height > maxh) { + /* Check there's room enough for at least one line. */ + if (maxh < mt) return 0; + num = maxh / mt - 1; - if (num < 1) return 0; - total_height = (num + 1) * mt; }