diff options
author | Monroe Linden <monroe@lindenlab.com> | 2010-02-18 15:48:56 -0800 |
---|---|---|
committer | Monroe Linden <monroe@lindenlab.com> | 2010-02-18 15:48:56 -0800 |
commit | e0efa1dfa236f8a52a88212298b6e5113ef8f07a (patch) | |
tree | 9a94d26d308981d2070129147b9ba751118bdd76 /indra/newview/llscreenchannel.cpp | |
parent | ef9b7c5b36c7521c4519e682aa312c4c25c31c2f (diff) | |
parent | 890ec637d41330a2a91d23b09b6aaaf49738d19a (diff) |
Automated merge with ssh://hg.lindenlab.com/q/viewer-hotfix
Diffstat (limited to 'indra/newview/llscreenchannel.cpp')
-rw-r--r-- | indra/newview/llscreenchannel.cpp | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index 7c2e7e3319..c75d90be6f 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -79,17 +79,12 @@ LLScreenChannelBase::~LLScreenChannelBase() bool LLScreenChannelBase::isHovering() { - bool res = mHoveredToast != NULL; - if (!res) + if (!mHoveredToast) { - return res; + return false; } - S32 x, y; - mHoveredToast->screenPointToLocal(gViewerWindow->getCurrentMouseX(), - gViewerWindow->getCurrentMouseY(), &x, &y); - res = mHoveredToast->pointInView(x, y) == TRUE; - return res; + return mHoveredToast->isHovered(); } void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) @@ -479,7 +474,8 @@ void LLScreenChannel::showToastsBottom() { if(it != mToastList.rbegin()) { - bottom = (*(it-1)).toast->getRect().mTop; + LLToast* toast = (*(it-1)).toast; + bottom = toast->getRect().mTop - toast->getTopPad(); toast_margin = gSavedSettings.getS32("ToastGap"); } @@ -777,23 +773,16 @@ void LLScreenChannel::onToastHover(LLToast* toast, bool mouse_enter) { // because of LLViewerWindow::updateUI() that NOT ALWAYS calls onMouseEnter BEFORE onMouseLeave // we must check hovering directly to prevent incorrect setting for hovering in a channel - S32 x,y; if (mouse_enter) { - toast->screenPointToLocal(gViewerWindow->getCurrentMouseX(), - gViewerWindow->getCurrentMouseY(), &x, &y); - bool hover = toast->pointInView(x, y) == TRUE; - if (hover) + if (toast->isHovered()) { mHoveredToast = toast; } } else if (mHoveredToast != NULL) { - mHoveredToast->screenPointToLocal(gViewerWindow->getCurrentMouseX(), - gViewerWindow->getCurrentMouseY(), &x, &y); - bool hover = mHoveredToast->pointInView(x, y) == TRUE; - if (!hover) + if (!mHoveredToast->isHovered()) { mHoveredToast = NULL; } |