mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-13 08:35:20 +02:00
Chat: Keep scroll position constant in ChatBuffer::deleteOldest()
This commit is contained in:
@@ -97,6 +97,8 @@ void ChatBuffer::step(f32 dtime)
|
|||||||
|
|
||||||
void ChatBuffer::deleteOldest(u32 count)
|
void ChatBuffer::deleteOldest(u32 count)
|
||||||
{
|
{
|
||||||
|
bool at_bottom = (m_scroll == getBottomScrollPos());
|
||||||
|
|
||||||
u32 del_unformatted = 0;
|
u32 del_unformatted = 0;
|
||||||
u32 del_formatted = 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_unformatted.erase(m_unformatted.begin(), m_unformatted.begin() + del_unformatted);
|
||||||
m_formatted.erase(m_formatted.begin(), m_formatted.begin() + del_formatted);
|
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)
|
void ChatBuffer::deleteByAge(f32 maxAge)
|
||||||
|
Reference in New Issue
Block a user