diff options
author | Andrew Meadows <andrew@lindenlab.com> | 2010-11-16 07:01:11 -0800 |
---|---|---|
committer | Andrew Meadows <andrew@lindenlab.com> | 2010-11-16 07:01:11 -0800 |
commit | 807007649a32c5276f31c5f73d6fade7d059ce07 (patch) | |
tree | 5730fa254ab3938a2acd4329921a57a551018ad1 /indra/newview/llhints.cpp | |
parent | 92a8d93b0d3084c1ccd4fb9cccc285bc14d01404 (diff) | |
parent | e8e1d7e629b9a4a65cde766ed81334140a749428 (diff) |
merge
Diffstat (limited to 'indra/newview/llhints.cpp')
-rw-r--r-- | indra/newview/llhints.cpp | 16 |
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()); |