mirror of
git://projects.qi-hardware.com/gmenu2x.git
synced 2024-12-27 23:33:20 +02:00
Show at least one row per page
In theory a font could be so large that no full row would fit on the allotted space; in that case showing a partial row is better than nothing and will avoid bugs where -1 wraps around on unsigned exprs.
This commit is contained in:
parent
0535f8273b
commit
b833f59bb5
@ -80,7 +80,7 @@ void TextDialog::exec() {
|
||||
const int fontHeight = gmenu2x->font->getLineSpacing();
|
||||
unsigned int contentY, contentHeight;
|
||||
tie(contentY, contentHeight) = gmenu2x->getContentArea();
|
||||
const unsigned rowsPerPage = contentHeight / fontHeight;
|
||||
const unsigned rowsPerPage = max(contentHeight / fontHeight, 1u);
|
||||
const unsigned maxFirstRow =
|
||||
text.size() < rowsPerPage ? 0 : text.size() - rowsPerPage;
|
||||
contentY += (contentHeight % fontHeight) / 2;
|
||||
|
@ -92,7 +92,7 @@ void TextManualDialog::exec() {
|
||||
ss >> spagecount;
|
||||
string pageStatus;
|
||||
|
||||
const unsigned rowsPerPage = 180 / gmenu2x->font->getLineSpacing();
|
||||
const unsigned rowsPerPage = max(180u / gmenu2x->font->getLineSpacing(), 1u);
|
||||
|
||||
unsigned page = 0, firstRow = 0;
|
||||
bool close = false;
|
||||
|
Loading…
Reference in New Issue
Block a user