diff options
author | DS <vorunbekannt75@web.de> | 2021-09-19 20:23:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-19 20:23:35 +0200 |
commit | e79d6154fc26b2a9bac242f0ac01ec785b5c53b1 (patch) | |
tree | eb4587e1a83696f4e9d08531856a7170d019ae65 /src/chat.h | |
parent | 40ea4ddef1fe56dab9a1479302f0b2578b4b0ed5 (diff) | |
download | minetest-e79d6154fc26b2a9bac242f0ac01ec785b5c53b1.tar.gz minetest-e79d6154fc26b2a9bac242f0ac01ec785b5c53b1.tar.bz2 minetest-e79d6154fc26b2a9bac242f0ac01ec785b5c53b1.zip |
Fix client-side performance of chat UI (#11612)
Diffstat (limited to 'src/chat.h')
-rw-r--r-- | src/chat.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/chat.h b/src/chat.h index aabb0821e..696d805eb 100644 --- a/src/chat.h +++ b/src/chat.h @@ -113,6 +113,13 @@ public: // Scroll to top of buffer (oldest) void scrollTop(); + // Functions for keeping track of whether the lines were modified by any + // preceding operations + // If they were not changed, getLineCount() and getLine() output the same as + // before + bool getLinesModified() const { return m_lines_modified; } + void resetLinesModified() { m_lines_modified = false; } + // Format a chat line for the given number of columns. // Appends the formatted lines to the destination array and // returns the number of formatted lines. @@ -146,6 +153,11 @@ private: bool m_cache_clickable_chat_weblinks; // Color of clickable chat weblinks irr::video::SColor m_cache_chat_weblink_color; + + // Whether the lines were modified since last markLinesUnchanged() + // Is always set to true when m_unformatted is modified, because that's what + // determines the output of getLineCount() and getLine() + bool m_lines_modified = true; }; class ChatPrompt |