summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llui/llmenugl.cpp2
-rw-r--r--indra/llui/lltooltip.cpp5
-rw-r--r--indra/llui/lluictrlfactory.h2
-rw-r--r--indra/newview/llfavoritesbar.cpp22
-rw-r--r--indra/newview/llhints.cpp2
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())