diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/widgets/browserbox.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp index d5b088369..8e8d4f2c2 100644 --- a/src/gui/widgets/browserbox.cpp +++ b/src/gui/widgets/browserbox.cpp @@ -175,13 +175,17 @@ void BrowserBox::addRow(const std::string &row, bool atTop) while (mTextRows.size() > mMaxRows) { mTextRows.pop_front(); - for (unsigned int i = 0; i < mLinks.size(); i++) + LinkIterator it = mLinks.begin(); + LinkIterator it_end = mLinks.end(); + while (it != it_end) { - mLinks[i].y1 -= font->getHeight(); - mLinks[i].y2 -= font->getHeight(); + (*it).y1 -= font->getHeight(); + (*it).y2 -= font->getHeight(); - if (mLinks[i].y1 < 0) - mLinks.erase(mLinks.begin() + i); + if ((*it).y1 < 0) + it = mLinks.erase(it); + else + ++ it; } } } |