summaryrefslogtreecommitdiff
path: root/indra/newview/lloutputmonitorctrl.cpp
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-02-08 12:27:33 +0000
committerTofu Linden <tofu.linden@lindenlab.com>2010-02-08 12:27:33 +0000
commit7660c19ce8fed013eea06450fe6deb4ae92f3ead (patch)
treea6b454d6b93a1b8befc1467a4f3570f5fa89a1af /indra/newview/lloutputmonitorctrl.cpp
parent62f0f426532808755f6d97f34fd2d8c9e5d2fa6a (diff)
parent4e28c10971dc4f9a52a7b3f109143dbce3528d21 (diff)
Merge from viewer2 trunk.
Diffstat (limited to 'indra/newview/lloutputmonitorctrl.cpp')
-rw-r--r--indra/newview/lloutputmonitorctrl.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp
index 388fdeea7a..9857e37bc3 100644
--- a/indra/newview/lloutputmonitorctrl.cpp
+++ b/indra/newview/lloutputmonitorctrl.cpp
@@ -249,6 +249,11 @@ void LLOutputMonitorCtrl::draw()
void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id)
{
+ if (speaker_id.isNull() && mSpeakerId.notNull())
+ {
+ LLSpeakingIndicatorManager::unregisterSpeakingIndicator(mSpeakerId, this);
+ }
+
if (speaker_id.isNull() || speaker_id == mSpeakerId) return;
if (mSpeakerId.notNull())
@@ -256,6 +261,7 @@ void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id)
// Unregister previous registration to avoid crash. EXT-4782.
LLSpeakingIndicatorManager::unregisterSpeakingIndicator(mSpeakerId, this);
}
+
mSpeakerId = speaker_id;
LLSpeakingIndicatorManager::registerSpeakingIndicator(mSpeakerId, this);