summaryrefslogtreecommitdiffstats
path: root/src/gui/util/qdesktopservices.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/util/qdesktopservices.cpp')
-rw-r--r--src/gui/util/qdesktopservices.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp
index 0f1312e02d..13e2585b88 100644
--- a/src/gui/util/qdesktopservices.cpp
+++ b/src/gui/util/qdesktopservices.cpp
@@ -45,14 +45,14 @@
#include <qdebug.h>
-#include "qdesktopservices_qpa.cpp"
-
#include <qstandardpaths.h>
#include <qhash.h>
#include <qobject.h>
#include <qcoreapplication.h>
+#include <private/qguiapplication_p.h>
#include <qurl.h>
#include <qmutex.h>
+#include <qplatformservices_qpa.h>
QT_BEGIN_NAMESPACE
@@ -185,14 +185,15 @@ bool QDesktopServices::openUrl(const QUrl &url)
return result; // ### support bool slot return type
}
}
-
- bool result;
- if (url.scheme() == QLatin1String("file"))
- result = openDocument(url);
- else
- result = launchWebBrowser(url);
-
- return result;
+ if (!url.isValid())
+ return false;
+ QPlatformServices *platformServices = QGuiApplicationPrivate::platformIntegration()->services();
+ if (!platformServices) {
+ qWarning("%s: The platform plugin does not support services.", Q_FUNC_INFO);
+ return false;
+ }
+ return url.scheme() == QStringLiteral("file") ?
+ platformServices->openDocument(url) : platformServices->openUrl(url);
}
/*!