diff options
author | Jacek Antonelli | 2008-08-15 23:45:29 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:45:29 -0500 |
commit | 7bdb4845afdd157f95281293803567090e3f992a (patch) | |
tree | fbcada1c227d7407f9f37ccba360bfe6326d9c5e /linden/indra/llui/llview.cpp | |
parent | Second Life viewer sources 1.19.0.0 (diff) | |
download | meta-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.cpp | 35 |
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 | ||