summaryrefslogtreecommitdiff
path: root/indra/newview/llhints.cpp
diff options
context:
space:
mode:
authorMonty Brandenberg <monty@lindenlab.com>2010-12-09 11:07:50 -0500
committerMonty Brandenberg <monty@lindenlab.com>2010-12-09 11:07:50 -0500
commitb9cf73c29b4b87a391c78415e4c09c31b4ac045c (patch)
treed843f4e78bc6874001cb81fc993cc59d0a179a83 /indra/newview/llhints.cpp
parenta59c43f1adff35107e59fdfc3016d4329324bbaf (diff)
parentd9b4570883652d647c05083c18fac1a088efd6e2 (diff)
merge from http://hg.secondlife.com/viewer-development
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());