diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llconversationview.cpp | 25 | 
1 files changed, 17 insertions, 8 deletions
| diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 4f875cca20..82d3fe74c0 100644 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -267,6 +267,23 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )      //This node (conversation) was selected and a child (participant) was not      if(result && getRoot())      { + +		if(getRoot()->getCurSelectedItem() == this) +		{ +			LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem()); +			LLUUID session_id = item? item->getUUID() : LLUUID(); + +			LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"); +			if (im_container->isConversationsPaneCollapsed() && im_container->getSelectedSession() == session_id) +			{ +				im_container->collapseMessagesPane(!im_container->isMessagesPaneCollapsed()); +			} +			else +			{ +				im_container->collapseMessagesPane(false); +			} + +		}  		selectConversationItem();      } @@ -316,14 +333,6 @@ void LLConversationViewSession::selectConversationItem()  		LLUUID session_id = item? item->getUUID() : LLUUID();  		LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"); -		if (im_container->isConversationsPaneCollapsed() && im_container->getSelectedSession() == session_id) -		{ -			im_container->collapseMessagesPane(!im_container->isMessagesPaneCollapsed()); -		} -		else -		{ -			im_container->collapseMessagesPane(false); -		}  		im_container->flashConversationItemWidget(session_id,false);  		im_container->selectConversationPair(session_id, false);  	} | 
