fix freezes from server talks spam
This commit is contained in:
		
							parent
							
								
									83f86eac64
								
							
						
					
					
						commit
						fb36ff2da3
					
				|  | @ -54,13 +54,15 @@ bool StaticText::addMessage(const std::string& name, Otc::SpeakType type, const | ||||||
|         m_name = name; |         m_name = name; | ||||||
|         m_messageType = type; |         m_messageType = type; | ||||||
|     } |     } | ||||||
|     else { |     else if(m_messages.size() > 20) { | ||||||
|  |         // to many messages, ignore to avoid lag
 | ||||||
|  |         return false; | ||||||
|  |     } else { | ||||||
|         // we can only add another message if it follows these conditions
 |         // we can only add another message if it follows these conditions
 | ||||||
|         if(m_name != name || m_messageType != type) |         if(m_name != name || m_messageType != type) | ||||||
|             return false; |             return false; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     m_messages.push_back(message); |  | ||||||
|     compose(); |     compose(); | ||||||
| 
 | 
 | ||||||
|     auto self = asStaticText(); |     auto self = asStaticText(); | ||||||
|  | @ -73,7 +75,7 @@ bool StaticText::addMessage(const std::string& name, Otc::SpeakType type, const | ||||||
| 
 | 
 | ||||||
| void StaticText::removeMessage() | void StaticText::removeMessage() | ||||||
| { | { | ||||||
|     m_messages.erase(m_messages.begin()); |     m_messages.pop_front(); | ||||||
| 
 | 
 | ||||||
|     if(m_messages.empty()) { |     if(m_messages.empty()) { | ||||||
|         // schedule removal
 |         // schedule removal
 | ||||||
|  |  | ||||||
|  | @ -50,7 +50,7 @@ private: | ||||||
|     void compose(); |     void compose(); | ||||||
| 
 | 
 | ||||||
|     Boolean<false> m_yell; |     Boolean<false> m_yell; | ||||||
|     std::vector<std::string> m_messages; |     std::deque<std::string> m_messages; | ||||||
|     std::string m_name; |     std::string m_name; | ||||||
|     Otc::SpeakType m_messageType; |     Otc::SpeakType m_messageType; | ||||||
|     Color m_color; |     Color m_color; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Eduardo Bart
						Eduardo Bart