diff options
author | Jonas Kvinge <jonas@jkvinge.net> | 2021-06-16 00:45:53 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2021-06-30 15:04:34 +0000 |
commit | 2ca19d2dd3137f2c29dcb2b1f2d23b23f3f1b0aa (patch) | |
tree | 66245653db9f0b5f322b88b85255ccdf9070a1f7 /src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h | |
parent | 87249cd8b0fabd9b48226e3467a1b76a6276825e (diff) |
QDBusMenuConnection: Close open D-Bus connection
Using QSystemTrayIcon::isSystemTrayAvailable() generates a new
connection from QDBusTrayIcon::isSystemTrayAvailable() with a new unique instance ID.
These were never closed, so calling
QSystemTrayIcon::isSystemTrayAvailable() frequently leads to crash when
it runs out of file descriptors.
Fixes: QTBUG-94839
Pick-to: 5.15 6.1 6.2
Change-Id: Ib71441a6b680d8633707cc02f9b6081c0f02472b
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h')
-rw-r--r-- | src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h b/src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h index 37183b021d..012f83fe0e 100644 --- a/src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h +++ b/src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h @@ -71,6 +71,7 @@ class QDBusMenuConnection : public QObject public: QDBusMenuConnection(QObject *parent = nullptr, const QString &serviceName = QString()); + ~QDBusMenuConnection(); QDBusConnection connection() const { return m_connection; } QDBusServiceWatcher *dbusWatcher() const { return m_dbusWatcher; } bool isStatusNotifierHostRegistered() const { return m_statusNotifierHostRegistered; } @@ -91,6 +92,7 @@ private Q_SLOTS: void dbusError(const QDBusError &error); private: + QString m_serviceName; QDBusConnection m_connection; QDBusServiceWatcher *m_dbusWatcher; bool m_statusNotifierHostRegistered; |