aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llui/llview.cpp
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:29 -0500
committerJacek Antonelli2008-08-15 23:45:29 -0500
commit7bdb4845afdd157f95281293803567090e3f992a (patch)
treefbcada1c227d7407f9f37ccba360bfe6326d9c5e /linden/indra/llui/llview.cpp
parentSecond Life viewer sources 1.19.0.0 (diff)
downloadmeta-impy-7bdb4845afdd157f95281293803567090e3f992a.zip
meta-impy-7bdb4845afdd157f95281293803567090e3f992a.tar.gz
meta-impy-7bdb4845afdd157f95281293803567090e3f992a.tar.bz2
meta-impy-7bdb4845afdd157f95281293803567090e3f992a.tar.xz
Second Life viewer sources 1.19.0.2
Diffstat (limited to 'linden/indra/llui/llview.cpp')
-rw-r--r--linden/indra/llui/llview.cpp35
1 files changed, 12 insertions, 23 deletions
diff --git a/linden/indra/llui/llview.cpp b/linden/indra/llui/llview.cpp
index 04d33a6..39398b0 100644
--- a/linden/indra/llui/llview.cpp
+++ b/linden/indra/llui/llview.cpp
@@ -973,18 +973,10 @@ BOOL LLView::handleKey(KEY key, MASK mask, BOOL called_from_parent)
973 } 973 }
974 } 974 }
975 975
976 if( !handled && !called_from_parent) 976 if( !handled && !called_from_parent && mParentView)
977 { 977 {
978 if (mIsFocusRoot) 978 // Upward traversal
979 { 979 handled = mParentView->handleKey( key, mask, FALSE );
980 // stop processing at focus root
981 handled = FALSE;
982 }
983 else if (mParentView)
984 {
985 // Upward traversal
986 handled = mParentView->handleKey( key, mask, FALSE );
987 }
988 } 980 }
989 return handled; 981 return handled;
990} 982}
@@ -1019,18 +1011,10 @@ BOOL LLView::handleUnicodeChar(llwchar uni_char, BOOL called_from_parent)
1019 } 1011 }
1020 1012
1021 1013
1022 if (!handled && !called_from_parent) 1014 if (!handled && !called_from_parent && mParentView)
1023 { 1015 {
1024 if (mIsFocusRoot) 1016 // Upward traversal
1025 { 1017 handled = mParentView->handleUnicodeChar(uni_char, FALSE);
1026 // stop processing at focus root
1027 handled = FALSE;
1028 }
1029 else if(mParentView)
1030 {
1031 // Upward traversal
1032 handled = mParentView->handleUnicodeChar(uni_char, FALSE);
1033 }
1034 } 1018 }
1035 1019
1036 return handled; 1020 return handled;
@@ -1666,7 +1650,12 @@ void LLView::updateBoundingRect()
1666 for ( child_it = mChildList.begin(); child_it != mChildList.end(); ++child_it) 1650 for ( child_it = mChildList.begin(); child_it != mChildList.end(); ++child_it)
1667 { 1651 {
1668 LLView* childp = *child_it; 1652 LLView* childp = *child_it;
1669 if (!childp->getVisible()) continue; 1653 // ignore invisible and "top" children when calculating bounding rect
1654 // such as combobox popups
1655 if (!childp->getVisible() || childp == gFocusMgr.getTopCtrl())
1656 {
1657 continue;
1658 }
1670 1659
1671 LLRect child_bounding_rect = childp->getBoundingRect(); 1660 LLRect child_bounding_rect = childp->getBoundingRect();
1672 1661