diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gui/platform/unix/qdesktopunixservices.cpp | 4 | ||||
| -rw-r--r-- | src/gui/platform/unix/qdesktopunixservices_p.h | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/gui/platform/unix/qdesktopunixservices.cpp b/src/gui/platform/unix/qdesktopunixservices.cpp index 226bd338a2c..144a33614c2 100644 --- a/src/gui/platform/unix/qdesktopunixservices.cpp +++ b/src/gui/platform/unix/qdesktopunixservices.cpp @@ -393,7 +393,7 @@ QDesktopUnixServices::QDesktopUnixServices() QDBusPendingCall pendingCall = QDBusConnection::sessionBus().asyncCall(message); auto watcher = new QDBusPendingCallWatcher(pendingCall); - m_watcherConnection = + m_watcher = watcher; QObject::connect(watcher, &QDBusPendingCallWatcher::finished, watcher, [this](QDBusPendingCallWatcher *watcher) { watcher->deleteLater(); @@ -408,7 +408,7 @@ QDesktopUnixServices::QDesktopUnixServices() QDesktopUnixServices::~QDesktopUnixServices() { #if QT_CONFIG(dbus) - QObject::disconnect(m_watcherConnection); + delete m_watcher; #endif } diff --git a/src/gui/platform/unix/qdesktopunixservices_p.h b/src/gui/platform/unix/qdesktopunixservices_p.h index f52dc35bbe2..903bd6e6510 100644 --- a/src/gui/platform/unix/qdesktopunixservices_p.h +++ b/src/gui/platform/unix/qdesktopunixservices_p.h @@ -16,11 +16,14 @@ // #include <qpa/qplatformservices.h> + +#include <QtCore/qpointer.h> #include <QtCore/QString> #include <QtCore/private/qglobal_p.h> QT_BEGIN_NAMESPACE +class QDBusPendingCallWatcher; class QWindow; class Q_GUI_EXPORT QDesktopUnixServices : public QPlatformServices @@ -46,7 +49,7 @@ private: QString m_webBrowser; QString m_documentLauncher; #if QT_CONFIG(dbus) - QMetaObject::Connection m_watcherConnection; + QPointer<QDBusPendingCallWatcher> m_watcher = nullptr; #endif bool m_hasScreenshotPortalWithColorPicking = false; }; |
