diff options
| -rw-r--r-- | indra/llui/llpanel.cpp | 23 | 
1 files changed, 18 insertions, 5 deletions
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index db32882438..143f19eea6 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -43,6 +43,7 @@  #include "llerror.h"  #include "lltimer.h" +#include "llaccordionctrltab.h"  #include "llbutton.h"  #include "llmenugl.h"  //#include "llstatusbar.h" @@ -851,14 +852,26 @@ static LLPanel *childGetVisibleTabWithHelp(LLView *parent)  	// look through immediate children first for an active tab with help  	for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child))  	{ +		LLPanel *curTabPanel = NULL; + +		// do we have a tab container?  		LLTabContainer *tab = dynamic_cast<LLTabContainer *>(child);  		if (tab && tab->getVisible())  		{ -			LLPanel *curTabPanel = tab->getCurrentPanel(); -			if (curTabPanel && !curTabPanel->getHelpTopic().empty()) -			{ -				return curTabPanel; -			} +			curTabPanel = tab->getCurrentPanel(); +		} + +		// do we have an accordion tab? +		LLAccordionCtrlTab* accordion = dynamic_cast<LLAccordionCtrlTab *>(child); +		if (accordion && accordion->getDisplayChildren()) +		{ +			curTabPanel = dynamic_cast<LLPanel *>(accordion->getAccordionView()); +		} + +		// if we found a valid tab, does it have a help topic? +		if (curTabPanel && !curTabPanel->getHelpTopic().empty()) +		{ +			return curTabPanel;  		}  	}  | 
