summaryrefslogtreecommitdiff
path: root/indra/newview/lloutputmonitorctrl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lloutputmonitorctrl.cpp')
-rw-r--r--indra/newview/lloutputmonitorctrl.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp
index 49b48f5a8e..6e1dc6940e 100644
--- a/indra/newview/lloutputmonitorctrl.cpp
+++ b/indra/newview/lloutputmonitorctrl.cpp
@@ -129,10 +129,10 @@ void LLOutputMonitorCtrl::draw()
const F32 LEVEL_1 = LLVoiceClient::OVERDRIVEN_POWER_LEVEL * 2.f / 3.f;
const F32 LEVEL_2 = LLVoiceClient::OVERDRIVEN_POWER_LEVEL;
- if (getVisible() && mAutoUpdate && !mIsMuted && mSpeakerId.notNull())
+ if (mIsParentVisible && getVisible() && mAutoUpdate && !mIsMuted && mSpeakerId.notNull())
{
setPower(gVoiceClient->getCurrentPower(mSpeakerId));
- setIsTalking(gVoiceClient->getUserPTTState());
+ setIsTalking(gVoiceClient->getIsSpeaking(mSpeakerId));
}
LLPointer<LLUIImage> icon;
@@ -220,6 +220,12 @@ void LLOutputMonitorCtrl::draw()
gl_rect_2d(0, monh, monw, 0, sColorBound, FALSE);
}
+void LLOutputMonitorCtrl::handleVisibilityChange(BOOL new_visibility)
+{
+ mIsParentVisible = new_visibility;
+ LLView::handleVisibilityChange(new_visibility);
+}
+
void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id)
{
if (speaker_id.isNull()) return;