diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llui/llmenugl.cpp | 2 | ||||
-rw-r--r-- | indra/llui/lltooltip.cpp | 5 | ||||
-rw-r--r-- | indra/llui/lluictrlfactory.h | 2 | ||||
-rw-r--r-- | indra/newview/llfavoritesbar.cpp | 22 | ||||
-rw-r--r-- | indra/newview/llhints.cpp | 2 |
5 files changed, 13 insertions, 20 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 46a7215707..b4d1a5726f 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -9,7 +9,7 @@ * Second Life Viewer Source Code * The source code in this file ("Source Code") is provided by Linden Lab * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement + * ("GPL"), unless you have obtained a separate licensing agreement * ("Other License"), formally executed by you and Linden Lab. Terms of * the GPL can be found in doc/GPL-license.txt in this distribution, or * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 diff --git a/indra/llui/lltooltip.cpp b/indra/llui/lltooltip.cpp index 025725476e..b3699c738e 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/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h index 165c117088..6b5d055b78 100644 --- a/indra/llui/lluictrlfactory.h +++ b/indra/llui/lluictrlfactory.h @@ -229,7 +229,9 @@ fail: static bool getLocalizedXMLNode(const std::string &xui_filename, LLXMLNodePtr& root); private: + //NOTE: both friend declarations are necessary to keep both gcc and msvc happy template <typename T> friend class LLChildRegistry; + template <typename T> template <typename U> friend class LLChildRegistry<T>::Register; static void copyName(LLXMLNodePtr src, LLXMLNodePtr dest); diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index ef596c4457..18a6ac031f 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -167,22 +167,13 @@ public: 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,10 +667,9 @@ const LLButton::Params& LLFavoritesBarCtrl::getButtonParams() { LLXMLNodePtr button_xml_node; if(LLUICtrlFactory::getLayeredXMLNode("favorites_bar_button.xml", button_xml_node)) - { - LLXUIParser parser; - parser.readXUI(button_xml_node, button_params, "favorites_bar_button.xml"); - } + { + 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 4d7cdc01e5..a90131499d 100644 --- a/indra/newview/llhints.cpp +++ b/indra/newview/llhints.cpp @@ -298,7 +298,7 @@ void LLHints::show(LLNotificationPtr hint) LLHintPopup::Params p(LLUICtrlFactory::getDefaultParams<LLHintPopup>()); LLParamSDParser parser; - parser.readSD(hint->getPayload(), p); + parser.readSD(hint->getPayload(), p, true); p.notification = hint; if (p.validateBlock()) |