diff options
-rw-r--r-- | src/gui/util/qdesktopservices.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp index 8f237960d6..a4c4fa4c2c 100644 --- a/src/gui/util/qdesktopservices.cpp +++ b/src/gui/util/qdesktopservices.cpp @@ -58,9 +58,8 @@ QT_BEGIN_NAMESPACE -class QOpenUrlHandlerRegistry : public QObject +class QOpenUrlHandlerRegistry { - Q_OBJECT public: QOpenUrlHandlerRegistry() = default; @@ -75,7 +74,8 @@ public: HandlerHash handlers; #if QT_VERSION < QT_VERSION_CHECK(6, 6, 0) -public Q_SLOTS: + QObject context; + void handlerDestroyed(QObject *handler); #endif @@ -336,8 +336,8 @@ void QDesktopServices::setUrlHandler(const QString &scheme, QObject *receiver, c h.name = method; registry->handlers.insert(scheme.toLower(), h); #if QT_VERSION < QT_VERSION_CHECK(6, 6, 0) - QObject::connect(receiver, SIGNAL(destroyed(QObject*)), - registry, SLOT(handlerDestroyed(QObject*)), + QObject::connect(receiver, &QObject::destroyed, ®istry->context, + [registry](QObject *obj) { registry->handlerDestroyed(obj); }, Qt::DirectConnection); #endif } @@ -358,6 +358,4 @@ void QDesktopServices::unsetUrlHandler(const QString &scheme) QT_END_NAMESPACE -#include "qdesktopservices.moc" - #endif // QT_NO_DESKTOPSERVICES |