From f606a5b300a5f4a84523761df4ba6f5198c06c10 Mon Sep 17 00:00:00 2001
From: Mike Antipov <mantipov@productengine.com>
Date: Thu, 14 Jan 2010 17:14:43 +0200
Subject: Work on major bug EXT-3976 (Voice chat speaking indicators should
 only display when users are in the same voice channel) -- fixed bug:
 "Indicator does not appear if two indicators are visible for the same avatar
 on second switching to the same voice channel"

--HG--
branch : product-engine
---
 indra/newview/CMakeLists.txt          | 1 +
 indra/newview/lloutputmonitorctrl.cpp | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 69927e5e0e..b452ad7421 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1760,6 +1760,7 @@ if (INSTALL)
 endif (INSTALL)
 
 if (LL_TESTS)
+else (LL_TESTS)
   # To add a viewer unit test, just add the test .cpp file below
   # This creates a separate test project per file listed.
   include(LLAddBuildTest)
diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp
index 89b0105ae9..80477c1041 100644
--- a/indra/newview/lloutputmonitorctrl.cpp
+++ b/indra/newview/lloutputmonitorctrl.cpp
@@ -282,7 +282,7 @@ void LLOutputMonitorCtrl::switchIndicator(bool switch_on)
 	if (switch_on)
 	{
 		setVisible((BOOL)switch_on);
-		if (isInVisibleChain())
+		if (getParent() && getParent()->isInVisibleChain())
 		{
 			notifyParentVisibilityChanged();
 		}
@@ -295,7 +295,7 @@ void LLOutputMonitorCtrl::switchIndicator(bool switch_on)
 	}
 	else
 	{
-		if (isInVisibleChain())
+		if (getParent() && getParent()->isInVisibleChain())
 		{
 			LL_DEBUGS("SpeakingIndicator") << "Indicator is in visible chain, notifying parent: " << mSpeakerId << LL_ENDL;
 			setVisible((BOOL)switch_on);
-- 
cgit v1.2.3