diff options
| author | Ruslan Teliuk <ruslantproductengine@lindenlab.com> | 2016-09-27 15:43:53 +0300 |
|---|---|---|
| committer | Ruslan Teliuk <ruslantproductengine@lindenlab.com> | 2016-09-27 15:43:53 +0300 |
| commit | 999dc6c61ba48c5bd930e63bfc6dc7d1e494b43c (patch) | |
| tree | 5c0f00f9521aa0298ff2813d5116cf4b12a04597 /indra/llui/llurlentry.cpp | |
| parent | 25c20f98a88a457b5fa865e8dc302b24378bc842 (diff) | |
| parent | fa4376b457b887130e98bd96e6bccb231e8947d2 (diff) | |
Merged lindenlab/viewer-neko into default
Diffstat (limited to 'indra/llui/llurlentry.cpp')
| -rw-r--r-- | indra/llui/llurlentry.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp index e4848362a7..27a2456deb 100644 --- a/indra/llui/llurlentry.cpp +++ b/indra/llui/llurlentry.cpp @@ -183,8 +183,9 @@ bool LLUrlEntryBase::isLinkDisabled() const bool LLUrlEntryBase::isWikiLinkCorrect(std::string url) { - std::string label = getLabelFromWikiLink(url); - return (LLUrlRegistry::instance().hasUrl(label)) ? false : true; + LLWString label = utf8str_to_wstring(getLabelFromWikiLink(url)); + label.erase(std::remove(label.begin(), label.end(), L'\u200B'), label.end()); + return (LLUrlRegistry::instance().hasUrl(wstring_to_utf8str(label))) ? false : true; } std::string LLUrlEntryBase::urlToLabelWithGreyQuery(const std::string &url) const @@ -205,9 +206,15 @@ std::string LLUrlEntryBase::urlToGreyQuery(const std::string &url) const std::string label; up.extractParts(); - up.glueFirst(label); - std::string query = url.substr(label.size()); - return query; + up.glueFirst(label, false); + + size_t pos = url.find(label); + if (pos == std::string::npos) + { + return ""; + } + pos += label.size(); + return url.substr(pos); } |
