diff options
Diffstat (limited to 'src/gui/util/qdesktopservices.cpp')
-rw-r--r-- | src/gui/util/qdesktopservices.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp index 085c073bb1..c9747877f7 100644 --- a/src/gui/util/qdesktopservices.cpp +++ b/src/gui/util/qdesktopservices.cpp @@ -198,8 +198,15 @@ bool QDesktopServices::openUrl(const QUrl &url) return false; QPlatformIntegration *platformIntegration = QGuiApplicationPrivate::platformIntegration(); - if (!platformIntegration) + if (Q_UNLIKELY(!platformIntegration)) { + QCoreApplication *application = QCoreApplication::instance(); + if (Q_UNLIKELY(!application)) + qWarning("QDesktopServices::openUrl: Please instantiate the QGuiApplication object " + "first"); + else if (Q_UNLIKELY(!qobject_cast<QGuiApplication *>(application))) + qWarning("QDesktopServices::openUrl: Application is not a GUI application"); return false; + } QPlatformServices *platformServices = platformIntegration->services(); if (!platformServices) { |