39 lines
1.6 KiB
Diff
39 lines
1.6 KiB
Diff
From 2e97dd401a09e4a9027dea885db7fd95e961a0c5 Mon Sep 17 00:00:00 2001
|
|
From: David Faure <faure+bluesystems@kde.org>
|
|
Date: Fri, 21 Dec 2012 17:38:19 +0100
|
|
Subject: [PATCH 110/246] QUrl::fromUserInput: fix for urls without a host.
|
|
|
|
QUrl::fromUserInput("http://") was invalid, which doesn't make sense
|
|
since QUrl("http://") is valid. Same for "smb:" which is actually
|
|
even more a valid URL from a user's point of view.
|
|
|
|
Change-Id: I371ac393d61b49499edf5adbbc2a90b426fe9e5d
|
|
(cherry-picked from qt5 commit 8b2728ec382565c5bd57148600e34740a3c3fe52)
|
|
Reviewed-by: David Faure (KDE) <faure@kde.org>
|
|
---
|
|
src/corelib/io/qurl.cpp | 3 +--
|
|
tests/auto/qurl/tst_qurl.cpp | 4 ++++
|
|
2 files changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
|
|
index 4b0bc39..551a990 100644
|
|
--- a/src/corelib/io/qurl.cpp
|
|
+++ b/src/corelib/io/qurl.cpp
|
|
@@ -6684,12 +6684,11 @@ QUrl QUrl::fromUserInput(const QString &userInput)
|
|
QUrl url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode);
|
|
QUrl urlPrepended = QUrl::fromEncoded("http://" + trimmedString.toUtf8(), QUrl::TolerantMode);
|
|
|
|
- // Check the most common case of a valid url with scheme and host
|
|
+ // Check the most common case of a valid url with a scheme
|
|
// We check if the port would be valid by adding the scheme to handle the case host:port
|
|
// where the host would be interpretted as the scheme
|
|
if (url.isValid()
|
|
&& !url.scheme().isEmpty()
|
|
- && (!url.host().isEmpty() || !url.path().isEmpty())
|
|
&& urlPrepended.port() == -1)
|
|
return url;
|
|
|
|
--
|
|
1.8.1.4
|
|
|