diff options
| -rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llfloaterimcontainer.h | 1 | ||||
| -rw-r--r-- | indra/newview/llfloaterimsessiontab.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llvoiceclient.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llvoiceclient.h | 6 | 
5 files changed, 14 insertions, 2 deletions
| diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index cc053ca658..75b311eecf 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -88,6 +88,11 @@ LLFloaterIMContainer::~LLFloaterIMContainer()  	mNewMessageConnection.disconnect();  	LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::IM, this); +	if (mMicroChangedSignal.connected()) +	{ +		mMicroChangedSignal.disconnect(); +	} +  	gSavedPerAccountSettings.setBOOL("ConversationsListPaneCollapsed", mConversationsPane->isCollapsed());  	gSavedPerAccountSettings.setBOOL("ConversationsMessagePaneCollapsed", mMessagesPane->isCollapsed()); @@ -213,7 +218,7 @@ BOOL LLFloaterIMContainer::postBuild()  	collapseMessagesPane(gSavedPerAccountSettings.getBOOL("ConversationsMessagePaneCollapsed"));  	collapseConversationsPane(gSavedPerAccountSettings.getBOOL("ConversationsListPaneCollapsed"));  	LLAvatarNameCache::addUseDisplayNamesCallback(boost::bind(&LLFloaterIMSessionTab::processChatHistoryStyleUpdate)); - +	mMicroChangedSignal = LLVoiceClient::getInstance()->MicroChangedCallback(boost::bind(&LLFloaterIMContainer::updateSpeakBtnState, this));  	if (! mMessagesPane->isCollapsed())  	{  		S32 list_width = gSavedPerAccountSettings.getS32("ConversationsListPaneWidth"); diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index 3818645037..4f1bb96d9b 100644 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -176,6 +176,7 @@ public:  	void updateSpeakBtnState();  	static bool isConversationLoggingAllowed();  	void flashConversationItemWidget(const LLUUID& session_id, bool is_flashes); +	boost::signals2::connection mMicroChangedSignal;  private:  	LLConversationViewSession* createConversationItemWidget(LLConversationItem* item); diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 4c6d8fa5a0..0eb0289f49 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -693,7 +693,6 @@ void LLFloaterIMSessionTab::updateCallBtnState(bool callIsActive)  	voiceButton->setToolTip(  			callIsActive? getString("end_call_button_tooltip") : getString("start_call_button_tooltip")); -	LLFloaterIMContainer::getInstance()->updateSpeakBtnState();  	enableDisableCallBtn();  } diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 730f022c50..dd529d74e9 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -551,6 +551,7 @@ void LLVoiceClient::setUserPTTState(bool ptt)  {  	mUserPTTState = ptt;  	updateMicMuteLogic(); +	mMicroChangedSignal();  }  bool LLVoiceClient::getUserPTTState() diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h index c9aeea35a9..714dd6a9f2 100644 --- a/indra/newview/llvoiceclient.h +++ b/indra/newview/llvoiceclient.h @@ -303,6 +303,9 @@ public:  	LLVoiceClient();	  	~LLVoiceClient(); +	typedef boost::signals2::signal<void(void)> micro_changed_signal_t; +	micro_changed_signal_t mMicroChangedSignal; +  	void init(LLPumpIO *pump);	// Call this once at application startup (creates connector)  	void terminate();	// Call this to clean up during shutdown @@ -401,6 +404,8 @@ public:  	void keyUp(KEY key, MASK mask);  	void middleMouseState(bool down); +	boost::signals2::connection MicroChangedCallback(const micro_changed_signal_t::slot_type& cb ) { return mMicroChangedSignal.connect(cb); } +  	/////////////////////////////  	// Accessors for data related to nearby speakers @@ -456,6 +461,7 @@ protected:  	LLVoiceModuleInterface* mVoiceModule;  	LLPumpIO *m_servicePump; +  	LLCachedControl<bool> mVoiceEffectEnabled;  	LLCachedControl<std::string> mVoiceEffectDefault; | 
