summaryrefslogtreecommitdiff
path: root/indra/llui/lluictrl.cpp
diff options
context:
space:
mode:
authorJosh Bell <josh@lindenlab.com>2008-01-28 23:36:41 +0000
committerJosh Bell <josh@lindenlab.com>2008-01-28 23:36:41 +0000
commit6ae0a9e2c1ac51385c341ff4a93384950e2e7e40 (patch)
treee4c7b66768581bcd656148e13e732f43f9f11829 /indra/llui/lluictrl.cpp
parent5a85e84dea0828aeaac2dbafbdfcdab436648c74 (diff)
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
Diffstat (limited to 'indra/llui/lluictrl.cpp')
-rw-r--r--indra/llui/lluictrl.cpp21
1 files changed, 20 insertions, 1 deletions
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,