summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoaservices.mm
diff options
context:
space:
mode:
authorIndrajit Tapadar <indrajit.tapadar@digia.com>2013-01-23 13:08:20 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-20 10:35:23 +0100
commitf6c5452d97c5bc53fd29c32e7f9bee0f5e411283 (patch)
tree269d3977ba38eeefaad8378c8b5955ed608fba3d /src/plugins/platforms/cocoa/qcocoaservices.mm
parent3bee02c1cad3bbeffbb51ca003ee79558919bb8b (diff)
Fix for url encoding in QDesktopServices::openUrl().
URLs containing spaces (encoded) couldnt be opened using QDesktopServices::openUrl() -method. This is a regression as it works for 4.8, Using url.toEncoded() instead of url.toString() which removed percent encoding. The NSUrl uses RFC 2396 for parsing, and according to the documentation, of 2.4. Escape Sequences - Data must be escaped if it does not have a representation using an unreserved character; And as a space does not have a representation using unreserved character it needs to be escaped. Example: Using this url, http://www.google.com/search?q=testme%20withspace url.toString() returns "http://www.google.com/search?q=testme withspace" and url.toEncoded() returns, http://www.google.com/search?q=testme%20withspace" which is also the expected result. Task-number: QTBUG-29124 Change-Id: Ieed3d4cfb689b9311f6cf21e5098a1e70256ab03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoaservices.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaservices.mm2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaservices.mm b/src/plugins/platforms/cocoa/qcocoaservices.mm
index dea23e7e53..e4cec8c5f8 100644
--- a/src/plugins/platforms/cocoa/qcocoaservices.mm
+++ b/src/plugins/platforms/cocoa/qcocoaservices.mm
@@ -55,7 +55,7 @@ bool QCocoaServices::openUrl(const QUrl &url)
const QString scheme = url.scheme();
if (scheme.isEmpty())
return openDocument(url);
- return [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:QT_PREPEND_NAMESPACE(QCFString::toNSString)(url.toString())]];
+ return [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:QT_PREPEND_NAMESPACE(QCFString::toNSString)(url.toString(QUrl::FullyEncoded))]];
}
bool QCocoaServices::openDocument(const QUrl &url)