diff --git a/indra/llui/lltooltip.cpp b/indra/llui/lltooltip.cpp index 025725476ebd2a4b3ca6fe8dda7b01a19177d46d..b3699c738ec5ae84bdf93728f022afc5ef02a306 100644 --- a/indra/llui/lltooltip.cpp +++ b/indra/llui/lltooltip.cpp @@ -84,9 +84,9 @@ BOOL LLToolTipView::handleHover(S32 x, S32 y, MASK mask) LLToolTipMgr& tooltip_mgr = LLToolTipMgr::instance(); - if (x != last_x && y != last_y) + if (x != last_x && y != last_y && !tooltip_mgr.getMouseNearRect().pointInRect(x, y)) { - // allow new tooltips because mouse moved + // allow new tooltips because mouse moved outside of mouse near rect tooltip_mgr.unblockToolTips(); } @@ -586,6 +586,7 @@ void LLToolTipMgr::updateToolTipVisibility() if (mToolTip->getVisibleTime() > tooltip_timeout) { hideToolTips(); + unblockToolTips(); } } } diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index b8776d0af2afb55aa1fcb184e2277587db6fdfaa..18a6ac031ff49b184ae86cb3368591df78646bb3 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -167,22 +167,13 @@ class LLFavoriteLandmarkButton : public LLButton if (!region_name.empty()) { - LLToolTip::Params params; std::string extra_message = llformat("%s (%d, %d, %d)", region_name.c_str(), mLandmarkInfoGetter.getPosX(), mLandmarkInfoGetter.getPosY(), mLandmarkInfoGetter.getPosZ()); + LLToolTip::Params params; params.message = llformat("%s\n%s", getLabelSelected().c_str(), extra_message.c_str()); - - LLRect rect = calcScreenRect(); - LLFontGL* standart_font = LLFontGL::getFontSansSerif(); - if(standart_font) - { - S32 w = llmax((S32)(standart_font->getWidthF32(getLabelSelected())+0.5),(S32)(standart_font->getWidthF32(extra_message)+0.5)); - rect.mRight = rect.mLeft + w; - params.max_width = w; - } - - params.sticky_rect = rect; + params.max_width = 1000; + params.sticky_rect = calcScreenRect(); LLToolTipMgr::instance().show(params); } @@ -676,9 +667,9 @@ const LLButton::Params& LLFavoritesBarCtrl::getButtonParams() { LLXMLNodePtr button_xml_node; if(LLUICtrlFactory::getLayeredXMLNode("favorites_bar_button.xml", button_xml_node)) - { + { LLXUIParser::instance().readXUI(button_xml_node, button_params, "favorites_bar_button.xml"); - } + } params_initialized = true; } diff --git a/indra/newview/llhints.cpp b/indra/newview/llhints.cpp index e0ced5caeb1cdfe1f97e398d2344e009b155aa91..11b7ffe1afd6ad90df65c276c30b76c889325716 100644 --- a/indra/newview/llhints.cpp +++ b/indra/newview/llhints.cpp @@ -297,7 +297,7 @@ void LLHints::show(LLNotificationPtr hint) { LLHintPopup::Params p(LLUICtrlFactory::getDefaultParams<LLHintPopup>()); - LLParamSDParser::instance().readSD(hint->getPayload(), p); + LLParamSDParser::instance().readSD(hint->getPayload(), p, true); p.notification = hint; if (p.validateBlock())