summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorcallum_linden <none@none>2018-04-12 15:22:25 -0700
committercallum_linden <none@none>2018-04-12 15:22:25 -0700
commit6c953d0bde107059db75d01cd30326a31cd0de54 (patch)
treec41563bccdcccc3bb263cca68c12f90ce0dbde88 /indra/llui
parentbdd7bdf390775860fb26a6c7d0923f45bb20256c (diff)
parent41f4e854732a7c75a813b2e99285cc41bde13e5e (diff)
Automated merge with tip of viewer-release after Viewer Media Update release
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llbadge.cpp2
-rw-r--r--indra/llui/llnotifications.h2
-rw-r--r--indra/llui/llurlentry.cpp11
-rw-r--r--indra/llui/llurlregistry.cpp35
4 files changed, 11 insertions, 39 deletions
diff --git a/indra/llui/llbadge.cpp b/indra/llui/llbadge.cpp
index 42726de0ad..15b6899d74 100644
--- a/indra/llui/llbadge.cpp
+++ b/indra/llui/llbadge.cpp
@@ -224,7 +224,7 @@ void LLBadge::draw()
{
LLView* owner_view = mOwner.get();
- if (owner_view)
+ if (owner_view && owner_view->isInVisibleChain())
{
//
// Calculate badge size based on label text
diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h
index ccdfb90054..1509446920 100644
--- a/indra/llui/llnotifications.h
+++ b/indra/llui/llnotifications.h
@@ -703,7 +703,7 @@ namespace LLNotificationComparators
{
struct orderByUUID
{
- bool operator()(LLNotificationPtr lhs, LLNotificationPtr rhs)
+ bool operator()(LLNotificationPtr lhs, LLNotificationPtr rhs) const
{
return lhs->id() < rhs->id();
}
diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp
index a4243ebfa1..a4dc5bcde1 100644
--- a/indra/llui/llurlentry.cpp
+++ b/indra/llui/llurlentry.cpp
@@ -190,31 +190,32 @@ bool LLUrlEntryBase::isWikiLinkCorrect(std::string url)
std::string LLUrlEntryBase::urlToLabelWithGreyQuery(const std::string &url) const
{
- LLUriParser up(unescapeUrl(url));
+ LLUriParser up(escapeUrl(url));
up.normalize();
std::string label;
up.extractParts();
up.glueFirst(label);
- return label;
+ return unescapeUrl(label);
}
std::string LLUrlEntryBase::urlToGreyQuery(const std::string &url) const
{
- LLUriParser up(unescapeUrl(url));
+ std::string escaped_url = escapeUrl(url);
+ LLUriParser up(escaped_url);
std::string label;
up.extractParts();
up.glueFirst(label, false);
- size_t pos = url.find(label);
+ size_t pos = escaped_url.find(label);
if (pos == std::string::npos)
{
return "";
}
pos += label.size();
- return url.substr(pos);
+ return unescapeUrl(escaped_url.substr(pos));
}
diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp
index fa6593267a..ba6fa1e2e9 100644
--- a/indra/llui/llurlregistry.cpp
+++ b/indra/llui/llurlregistry.cpp
@@ -212,7 +212,7 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL
}
}
}
-
+
// did we find a match? if so, return its details in the match object
if (match_entry)
{
@@ -223,33 +223,6 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL
// fill in the LLUrlMatch object and return it
std::string url = text.substr(match_start, match_end - match_start + 1);
- LLUrlEntryBase *stripped_entry = NULL;
- if((match_entry != mUrlEntryNoLink) && (match_entry != mUrlEntryHTTPLabel) && (match_entry !=mUrlEntrySLLabel)
- && LLStringUtil::containsNonprintable(url))
- {
- LLStringUtil::stripNonprintable(url);
-
- std::vector<LLUrlEntryBase *>::iterator iter;
- for (iter = mUrlEntry.begin(); iter != mUrlEntry.end(); ++iter)
- {
- LLUrlEntryBase *url_entry = *iter;
- U32 start = 0, end = 0;
- if (matchRegex(url.c_str(), url_entry->getPattern(), start, end))
- {
- if (mLLUrlEntryInvalidSLURL == *iter)
- {
- if(url_entry && url_entry->isSLURLvalid(url))
- {
- continue;
- }
- }
- stripped_entry = url_entry;
- break;
- }
- }
- }
-
-
if (match_entry == mUrlEntryTrusted)
{
LLUriParser up(url);
@@ -257,12 +230,10 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL
url = up.normalizedUri();
}
- std::string url_label = stripped_entry? stripped_entry->getLabel(url, cb) : match_entry->getLabel(url, cb);
- std::string url_query = stripped_entry? stripped_entry->getQuery(url) : match_entry->getQuery(url);
match.setValues(match_start, match_end,
match_entry->getUrl(url),
- url_label,
- url_query,
+ match_entry->getLabel(url, cb),
+ match_entry->getQuery(url),
match_entry->getTooltip(url),
match_entry->getIcon(url),
match_entry->getStyle(),