diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 4c52794e4cec3c28fb765b447afc37fdca16c2fd..b9d62e85c46aee8df4dee3f4429effcb6870f2e1 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -57,14 +57,11 @@ class LLNearbyVoiceClientStatusObserver : public LLVoiceClientStatusObserver virtual void onChange(EStatusType status, const std::string &channelURI, bool proximal) { - if (conversation - && status != STATUS_JOINING - && status != STATUS_LEFT_CHANNEL - && LLVoiceClient::getInstance()->voiceEnabled() - && LLVoiceClient::getInstance()->isVoiceWorking()) - { - conversation->showVoiceIndicator(); - } + conversation->showVoiceIndicator(conversation + && status != STATUS_JOINING + && status != STATUS_LEFT_CHANNEL + && LLVoiceClient::getInstance()->voiceEnabled() + && LLVoiceClient::getInstance()->isVoiceWorking()); } private: @@ -288,12 +285,9 @@ LLConversationViewParticipant* LLConversationViewSession::findParticipant(const return (iter == getItemsEnd() ? NULL : participant); } -void LLConversationViewSession::showVoiceIndicator() +void LLConversationViewSession::showVoiceIndicator(bool visible) { - if (LLVoiceChannel::getCurrentVoiceChannel()->getSessionID().isNull()) - { - mCallIconLayoutPanel->setVisible(true); - } + mCallIconLayoutPanel->setVisible(visible && LLVoiceChannel::getCurrentVoiceChannel()->getSessionID().isNull()); } void LLConversationViewSession::refresh() diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h index 1baa8bb5ec56fd6cad14797b4007ffbc519268a4..8156b746b21e13fa70115830ef9cebc81435b301 100755 --- a/indra/newview/llconversationview.h +++ b/indra/newview/llconversationview.h @@ -78,7 +78,7 @@ class LLConversationViewSession : public LLFolderViewFolder void setVisibleIfDetached(BOOL visible); LLConversationViewParticipant* findParticipant(const LLUUID& participant_id); - void showVoiceIndicator(); + void showVoiceIndicator(bool visible); virtual void refresh();