diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llcallfloater.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index bd4fae6ab6..53ae001923 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -750,18 +750,26 @@ void LLCallFloater::reset(const LLVoiceChannel::EState& new_state) mParticipants = NULL; mAvatarList->clear(); - // "loading" is shown in parcel with disabled voice only when state is "ringing" - // to avoid showing it in nearby chat vcp all the time- "no_one_near" is now shown there (EXT-4648) - bool show_loading = LLVoiceChannel::STATE_RINGING == new_state; - if(!show_loading && !LLViewerParcelMgr::getInstance()->allowAgentVoice() && mVoiceType == VC_LOCAL_CHAT) + // These ifs were added instead of simply showing "loading" to make VCP work correctly in parcels + // with disabled voice (EXT-4648 and EXT-4649) + if (!LLViewerParcelMgr::getInstance()->allowAgentVoice() && LLVoiceChannel::STATE_HUNG_UP == new_state) { + // hides "Leave Call" when call is ended in parcel with disabled voice- hiding usually happens in + // updateSession() which won't be called here because connect to nearby voice never happens + childSetVisible("leave_call_btn_panel", false); + // setting title to nearby chat an "no one near..." text- because in region with disabled + // voice we won't have chance to really connect to nearby, so VCP is changed here manually + setTitle(getString("title_nearby")); mAvatarList->setNoItemsCommentText(getString("no_one_near")); } - else + // "loading" is shown only when state is "ringing" to avoid showing it in nearby chat vcp + // of parcels with disabled voice all the time- "no_one_near" is now shown there (EXT-4648) + else if (new_state == LLVoiceChannel::STATE_RINGING) { // update floater to show Loading while waiting for data. mAvatarList->setNoItemsCommentText(LLTrans::getString("LoadingData")); } + mAvatarList->setVisible(TRUE); mNonAvatarCaller->setVisible(FALSE); |