diff options
| -rw-r--r-- | indra/newview/llimconversation.cpp | 33 | ||||
| -rw-r--r-- | indra/newview/llimconversation.h | 2 | 
2 files changed, 24 insertions, 11 deletions
| diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp index 2ad7f9b193..3b334df189 100644 --- a/indra/newview/llimconversation.cpp +++ b/indra/newview/llimconversation.cpp @@ -393,7 +393,7 @@ void LLIMConversation::updateHeaderAndToolbar()  	// prevent start conversation before its container      LLIMFloaterContainer::getInstance(); -	bool is_torn_off = !getHost(); +	bool is_torn_off = checkIfTornOff();  	if (!is_torn_off)  	{  		hideAllStandardButtons(); @@ -505,16 +505,7 @@ void LLIMConversation::onSlide(LLIMConversation* self)  /*virtual*/  void LLIMConversation::onOpen(const LLSD& key)  { -	LLIMFloaterContainer* host_floater = dynamic_cast<LLIMFloaterContainer*>(getHost()); -    bool is_hosted = !!host_floater; -	if (is_hosted) -	{ -		// Show the messages pane when opening a floater hosted in the Conversations -		host_floater->collapseMessagesPane(false); -	} - -	setTornOff(!is_hosted); -	updateHeaderAndToolbar(); +	checkIfTornOff();  }  // virtual @@ -546,3 +537,23 @@ bool LLIMConversation::isChatMultiTab()  	// Restart is required in order to change chat window type.  	return true;  } + +bool LLIMConversation::checkIfTornOff() +{ +	bool isTorn = !getHost(); +	if (!isTorn) +	{ +		LLIMFloaterContainer* host_floater = dynamic_cast<LLIMFloaterContainer*>(getHost()); + +		// Show the messages pane when opening a floater hosted in the Conversations +		host_floater->collapseMessagesPane(false); +	} +	 +	if (isTorn != isTornOff()) +	{ +		setTornOff(isTorn); +		updateHeaderAndToolbar(); +	} + +	return isTorn; +}
\ No newline at end of file diff --git a/indra/newview/llimconversation.h b/indra/newview/llimconversation.h index c54081d316..0960d6db88 100644 --- a/indra/newview/llimconversation.h +++ b/indra/newview/llimconversation.h @@ -138,6 +138,8 @@ private:  	 */  	void reshapeChatHistory(); +	bool checkIfTornOff(); +  	LLTimer* mRefreshTimer; ///< Defines the rate at which refresh() is called.  	bool mHadFocus; | 
