summaryrefslogtreecommitdiff
path: root/indra/newview/llhints.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2010-12-07 15:05:57 -0500
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2010-12-07 15:05:57 -0500
commit3c00c1ba4590e758f84f5c97f2d407aa7e605ad8 (patch)
tree0d6771596b57ecf87f2504066543b56bbcf65d80 /indra/newview/llhints.cpp
parentefe65d90e027e4385c97d76244844fa8660dc7ce (diff)
parentd9b4570883652d647c05083c18fac1a088efd6e2 (diff)
merge viewer-development into web-profiles
Diffstat (limited to 'indra/newview/llhints.cpp')
-rw-r--r--indra/newview/llhints.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/indra/newview/llhints.cpp b/indra/newview/llhints.cpp
index d837ed8205..3f0deb98cd 100644
--- a/indra/newview/llhints.cpp
+++ b/indra/newview/llhints.cpp
@@ -109,7 +109,14 @@ public:
/*virtual*/ BOOL postBuild();
- void onClickClose() { hide(); LLNotifications::instance().cancel(mNotification); }
+ void onClickClose()
+ {
+ if (!mHidden)
+ {
+ hide();
+ LLNotifications::instance().cancel(mNotification);
+ }
+ }
void draw();
void hide() { if(!mHidden) {mHidden = true; mFadeTimer.reset();} }
@@ -211,9 +218,16 @@ void LLHintPopup::draw()
else if (!targetp->isInVisibleChain())
{
// if target is invisible, don't draw, but keep alive in case widget comes back
+ // but do make it so that it allows mouse events to pass through
+ setEnabled(false);
+ setMouseOpaque(false);
}
else
{
+ // revert back enabled and mouse opaque state in case we disabled it before
+ setEnabled(true);
+ setMouseOpaque(true);
+
LLRect target_rect;
targetp->localRectToOtherView(targetp->getLocalRect(), &target_rect, getParent());