summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llviewerwindow.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index fc6467ea23..874d76308a 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2605,8 +2605,19 @@ void LLViewerWindow::updateUI()
{
it.skipDescendants();
}
- else if (viewp->getMouseOpaque())
+ // only report xui names for LLUICtrls, not the various container LLViews
+ else if (dynamic_cast<LLUICtrl*>(viewp))
{
+ if (dynamic_cast<LLPanel*>(viewp))
+ {
+ // constrain search to descendants of this panel
+ // by resetting iterator
+ it = viewp->beginTreeDFS();
+ }
+
+ // if we are in a new part of the tree (not a descendent of current tooltip_view)
+ // then push the results for tooltip_view and start with a new potential view
+ // NOTE: this emulates visiting only the leaf nodes that meet our criteria
if (!viewp->hasAncestor(tooltip_view))
{
append_xui_tooltip(tooltip_view, tool_tip_msg);