From 0d517157fc9ad99476a65fab604a3d8e8eda36e9 Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Mon, 1 Mar 2021 19:50:35 +1100 Subject: Domain-relative URL fix --- src/renderers/geminirenderer.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/renderers/geminirenderer.cpp') diff --git a/src/renderers/geminirenderer.cpp b/src/renderers/geminirenderer.cpp index 736cd68..1d76b96 100644 --- a/src/renderers/geminirenderer.cpp +++ b/src/renderers/geminirenderer.cpp @@ -242,7 +242,18 @@ std::unique_ptr GeminiRenderer::render( auto local_url = QUrl(link); - auto absolute_url = root_url.resolved(QUrl(link)); + // Makes local URLs like the following work properly: + // Root: gemini://cosmic.voyage + // Local: gemini:///sub_directory + if (local_url.scheme() == root_url.scheme() && + local_url.host().isEmpty() && + local_url.scheme() != "about" && + local_url.scheme() != "file") + { + // qDebug() << "Adjusting local url: " << local_url; + local_url = local_url.adjusted(QUrl::RemoveScheme | QUrl::RemoveAuthority); + } + auto absolute_url = root_url.resolved(local_url); // qDebug() << link << title; -- cgit v1.2.3