From 6ae0a9e2c1ac51385c341ff4a93384950e2e7e40 Mon Sep 17 00:00:00 2001 From: Josh Bell Date: Mon, 28 Jan 2008 23:36:41 +0000 Subject: svn merge -r 78408:78432 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-19-0-Viewer Port these changes which have passed QA in QAR-186: * Bumping version numbers to 1.19.0 * DEV-8872 Text in group list in profile and group notices is difficult to read * DEV-9290 Clicking on Chat button in toolbar does not toggle chat bar * DEV-4721 Upload symbol map files to S3 --- indra/llui/lluictrl.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'indra/llui/lluictrl.cpp') diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index 8645f50764..241adb667e 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -285,7 +285,26 @@ void LLUICtrl::setIsChrome(BOOL is_chrome) // virtual BOOL LLUICtrl::getIsChrome() const { - return mIsChrome; + // am I or any of my ancestors flagged as "chrome"? + if (mIsChrome) return TRUE; + + LLView* parent_ctrl = getParent(); + while(parent_ctrl) + { + if(parent_ctrl->isCtrl()) + { + break; + } + parent_ctrl = parent_ctrl->getParent(); + } + + if(parent_ctrl) + { + // recurse into parent_ctrl and ask if it is in a chrome subtree + return ((LLUICtrl*)parent_ctrl)->getIsChrome(); + } + + return FALSE; } // this comparator uses the crazy disambiguating logic of LLCompareByTabOrder, -- cgit v1.2.3