summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-08-15 13:14:05 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-08-16 04:49:20 +0000
commitcc517d7cd983d9444e9690353ea7ca7ee30740ef (patch)
treefdc86ef0f43081d97bc95bd848efdd087bb251eb /src/plugins/platforms
parent17d68c4fc371c32bd58d0a94ac63f0170edaf29e (diff)
QWindowsServices::openUrl(): Don't convert URLs with fragments/queries to local files
Pass the URL instead. Task-number: QTBUG-55300 Change-Id: I4ce9171db5c1a9e07b17911729b165c115329664 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/windows/qwindowsservices.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/platforms/windows/qwindowsservices.cpp b/src/plugins/platforms/windows/qwindowsservices.cpp
index ae63ac46ae..1d23a9d9b9 100644
--- a/src/plugins/platforms/windows/qwindowsservices.cpp
+++ b/src/plugins/platforms/windows/qwindowsservices.cpp
@@ -51,8 +51,9 @@ enum { debug = 0 };
static inline bool shellExecute(const QUrl &url)
{
#ifndef Q_OS_WINCE
- const QString nativeFilePath =
- url.isLocalFile() ? QDir::toNativeSeparators(url.toLocalFile()) : url.toString(QUrl::FullyEncoded);
+ const QString nativeFilePath = url.isLocalFile() && !url.hasFragment() && !url.hasQuery()
+ ? QDir::toNativeSeparators(url.toLocalFile())
+ : url.toString(QUrl::FullyEncoded);
const quintptr result =
reinterpret_cast<quintptr>(ShellExecute(0, 0,
reinterpret_cast<const wchar_t *>(nativeFilePath.utf16()),