Skip to content
Permalink
Browse files
Chat: Keep scroll position constant in ChatBuffer::deleteOldest()
  • Loading branch information
kahrl authored and paramat committed May 8, 2016
1 parent 0f6e4a0 commit 2cdd9b4ab6cfc878dafb88aa8446b12cf2f94278
Showing 1 changed file with 7 additions and 0 deletions.
@@ -97,6 +97,8 @@ void ChatBuffer::step(f32 dtime)

void ChatBuffer::deleteOldest(u32 count)
{
bool at_bottom = (m_scroll == getBottomScrollPos());

u32 del_unformatted = 0;
u32 del_formatted = 0;

@@ -120,6 +122,11 @@ void ChatBuffer::deleteOldest(u32 count)

m_unformatted.erase(m_unformatted.begin(), m_unformatted.begin() + del_unformatted);
m_formatted.erase(m_formatted.begin(), m_formatted.begin() + del_formatted);

if (at_bottom)
m_scroll = getBottomScrollPos();
else
scrollAbsolute(m_scroll - del_formatted);
}

void ChatBuffer::deleteByAge(f32 maxAge)

0 comments on commit 2cdd9b4

Please sign in to comment.