summaryrefslogtreecommitdiff
path: root/indra/newview/lloutputmonitorctrl.cpp
diff options
context:
space:
mode:
authorgabriel lee <gabriel@lindenlab.com>2010-02-02 10:58:47 +0000
committergabriel lee <gabriel@lindenlab.com>2010-02-02 10:58:47 +0000
commit95d0df4ab05c4cfcc78f684ab28d36b9cc84410e (patch)
treeb1621cd22044edade98019af9d1b77383e3b88ef /indra/newview/lloutputmonitorctrl.cpp
parent5dfdb0d5a41143512180390193ce79644bcb9469 (diff)
parent4ad357ec70e15afdfe78816990cb23c7ba17619c (diff)
merged back my last changes
Diffstat (limited to 'indra/newview/lloutputmonitorctrl.cpp')
-rw-r--r--indra/newview/lloutputmonitorctrl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp
index f816dc589d..388fdeea7a 100644
--- a/indra/newview/lloutputmonitorctrl.cpp
+++ b/indra/newview/lloutputmonitorctrl.cpp
@@ -251,6 +251,11 @@ void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id)
{
if (speaker_id.isNull() || speaker_id == mSpeakerId) return;
+ if (mSpeakerId.notNull())
+ {
+ // Unregister previous registration to avoid crash. EXT-4782.
+ LLSpeakingIndicatorManager::unregisterSpeakingIndicator(mSpeakerId, this);
+ }
mSpeakerId = speaker_id;
LLSpeakingIndicatorManager::registerSpeakingIndicator(mSpeakerId, this);