소스 검색

Merge pull request #6407 from kdmcser/display_text_hang_fix

Fix infinite loop when trimming lines starting with control character…
Ivan Savenko 2 주 전
부모
커밋
34476d2bbf
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      client/windows/CMessage.cpp

+ 7 - 1
client/windows/CMessage.cpp

@@ -164,7 +164,13 @@ std::vector<std::string> CMessage::breakText(std::string text, size_t maxLineWid
 		{
 			// trim only if line does not starts with LF
 			// FIXME: necessary? All lines will be trimmed before returning anyway
-			boost::algorithm::trim_left_if(text, boost::algorithm::is_any_of(std::string(" ")));
+			boost::algorithm::trim_left_if(
+				text,
+				[](char c)
+				{
+					return static_cast<unsigned char>(c) <= static_cast<unsigned char>(' ');
+				}
+			);
 		}
 
 		if(opened)