diff options
| -rw-r--r-- | indra/newview/llchathistory.cpp | 18 | 
1 files changed, 13 insertions, 5 deletions
| diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 4f2dbe9fb1..9a1572364f 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -503,11 +503,20 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_  	//whether to show colon after a name in header copy/past and in plain text mode  	bool show_colon = chat.mChatType != CHAT_TYPE_SHOUT && chat.mChatType != CHAT_TYPE_WHISPER;  +	//IRC styled /me messages. +	bool irc_me = false; + +	std::string prefix = chat.mText.substr(0, 4); +	if (prefix == "/me " || prefix == "/me'") +	{ +		irc_me = true; +	} +  	if (use_plain_text_chat_history)  	{  		mEditor->appendText("[" + chat.mTimeStr + "] ", mEditor->getText().size() != 0, style_params); -		if (utf8str_trim(chat.mFromName).size() != 0) +		if (utf8str_trim(chat.mFromName).size() != 0 && !irc_me)  		{  			// Don't hotlink any messages from the system (e.g. "Second Life:"), so just add those in plain text.  			if ( chat.mFromName != SYSTEM_FROM && chat.mFromID.notNull() ) @@ -572,14 +581,13 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_  		mLastFromID = chat.mFromID;  		mLastMessageTime = new_message_time;  	} -	//Handle IRC styled /me messages. -	std::string prefix = chat.mText.substr(0, 4); -	if (prefix == "/me " || prefix == "/me'") +	 +	if (irc_me)  	{  		style_params.font.style = "ITALIC";  		if (chat.mFromName.size() > 0) -			mEditor->appendText(chat.mFromName, TRUE, style_params); +			mEditor->appendText(chat.mFromName, FALSE, style_params);  		// Ensure that message ends with NewLine, to avoid losing of new lines  		// while copy/paste from text chat. See EXT-3263.  		mEditor->appendText(chat.mText.substr(3) + NEW_LINE, FALSE, style_params); | 
