From 3d7dedff268cdedbea586c3e329c0682ee841290 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 24 Nov 2017 17:58:02 +0200 Subject: MAINT-8023 Viewer breaks URLs with internationalized domain names --- indra/llui/llurlentry.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'indra/llui/llurlentry.cpp') 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)); } -- cgit v1.2.3