From d62945c6bf72ed8483a4f238937ea50824bdc78c Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Wed, 9 Sep 2015 17:13:16 -0700 Subject: [PATCH 1/3] fix degenerative url scheme case --- libraries/networking/src/ResourceManager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libraries/networking/src/ResourceManager.cpp b/libraries/networking/src/ResourceManager.cpp index c721419c7e..e89e608aef 100644 --- a/libraries/networking/src/ResourceManager.cpp +++ b/libraries/networking/src/ResourceManager.cpp @@ -25,6 +25,15 @@ ResourceRequest* ResourceManager::createResourceRequest(QObject* parent, const Q return new HTTPResourceRequest(parent, url); } else if (scheme == URL_SCHEME_ATP) { return new AssetResourceRequest(parent, url); + } else { + // check the degenerative file case: on windows we can often have urls of the form c:/filename + // this checks for and works around that case. + QString urlWithFileSchemeName = URL_SCHEME_FILE + ":///" + url.toString(); + QUrl urlWithFileScheme = urlWithFileSchemeName; + QString fileName = urlWithFileScheme.toLocalFile(); + if (!fileName.isEmpty()) { + return new FileResourceRequest(parent, urlWithFileScheme); + } } qDebug() << "Unknown scheme (" << scheme << ") for URL: " << url.url(); From f710afbfd1a3ed6bca47f90aa79972cbb0e8151c Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Wed, 9 Sep 2015 17:26:01 -0700 Subject: [PATCH 2/3] CR feedback --- libraries/networking/src/ResourceManager.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libraries/networking/src/ResourceManager.cpp b/libraries/networking/src/ResourceManager.cpp index e89e608aef..a06c89fe0a 100644 --- a/libraries/networking/src/ResourceManager.cpp +++ b/libraries/networking/src/ResourceManager.cpp @@ -28,10 +28,8 @@ ResourceRequest* ResourceManager::createResourceRequest(QObject* parent, const Q } else { // check the degenerative file case: on windows we can often have urls of the form c:/filename // this checks for and works around that case. - QString urlWithFileSchemeName = URL_SCHEME_FILE + ":///" + url.toString(); - QUrl urlWithFileScheme = urlWithFileSchemeName; - QString fileName = urlWithFileScheme.toLocalFile(); - if (!fileName.isEmpty()) { + QUrl urlWithFileScheme { QString(URL_SCHEME_FILE + ":///" + url.toString()) }; + if (!urlWithFileScheme.toLocalFile().isEmpty()) { return new FileResourceRequest(parent, urlWithFileScheme); } } From 626fcb867b88cf8e102eb78aa0354209e87375a4 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Wed, 9 Sep 2015 17:27:39 -0700 Subject: [PATCH 3/3] CR feedback --- libraries/networking/src/ResourceManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/networking/src/ResourceManager.cpp b/libraries/networking/src/ResourceManager.cpp index a06c89fe0a..8af33c5463 100644 --- a/libraries/networking/src/ResourceManager.cpp +++ b/libraries/networking/src/ResourceManager.cpp @@ -28,7 +28,7 @@ ResourceRequest* ResourceManager::createResourceRequest(QObject* parent, const Q } else { // check the degenerative file case: on windows we can often have urls of the form c:/filename // this checks for and works around that case. - QUrl urlWithFileScheme { QString(URL_SCHEME_FILE + ":///" + url.toString()) }; + QUrl urlWithFileScheme { URL_SCHEME_FILE + ":///" + url.toString() }; if (!urlWithFileScheme.toLocalFile().isEmpty()) { return new FileResourceRequest(parent, urlWithFileScheme); }