diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-02-16 15:46:55 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@digia.com> | 2015-02-20 12:52:43 +0000 |
commit | 9bf8b2a412b77fa01e88c3f9ad9a9e7792cd4ac5 (patch) | |
tree | a26101c4197ffd8be3c4a7d789cf090e14717249 /src/platformsupport | |
parent | bc20d794cfddcc34d44a42217aabda1302972cf0 (diff) |
Do not attempt to unregister an unregistered dbus service
If a QSystemTrayIcon is created but never shown, it will trigger a
warning on exit when it fails to unregister.
This patch ensures we only try to unregister if the service was
registered in the first place.
Change-Id: I0e245d19be55c58aea180dbcbe5215e738d05280
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'src/platformsupport')
-rw-r--r-- | src/platformsupport/dbustray/qdbustrayicon.cpp | 7 | ||||
-rw-r--r-- | src/platformsupport/dbustray/qdbustrayicon_p.h | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/platformsupport/dbustray/qdbustrayicon.cpp b/src/platformsupport/dbustray/qdbustrayicon.cpp index d85d29a5c7..61849024da 100644 --- a/src/platformsupport/dbustray/qdbustrayicon.cpp +++ b/src/platformsupport/dbustray/qdbustrayicon.cpp @@ -77,6 +77,7 @@ QDBusTrayIcon::QDBusTrayIcon() , m_status(m_defaultStatus) , m_tempIcon(Q_NULLPTR) , m_tempAttentionIcon(Q_NULLPTR) + , m_registered(false) { qCDebug(qLcTray); if (instanceCount == 1) { @@ -101,15 +102,17 @@ QDBusTrayIcon::~QDBusTrayIcon() void QDBusTrayIcon::init() { qCDebug(qLcTray) << "registering" << m_instanceId; - dBusConnection()->registerTrayIcon(this); + m_registered = dBusConnection()->registerTrayIcon(this); } void QDBusTrayIcon::cleanup() { qCDebug(qLcTray) << "unregistering" << m_instanceId; - dBusConnection()->unregisterTrayIcon(this); + if (m_registered) + dBusConnection()->unregisterTrayIcon(this); delete m_dbusConnection; m_dbusConnection = Q_NULLPTR; + m_registered = false; } void QDBusTrayIcon::activate(int x, int y) diff --git a/src/platformsupport/dbustray/qdbustrayicon_p.h b/src/platformsupport/dbustray/qdbustrayicon_p.h index d3d1c5bb8f..78dfae7c02 100644 --- a/src/platformsupport/dbustray/qdbustrayicon_p.h +++ b/src/platformsupport/dbustray/qdbustrayicon_p.h @@ -156,6 +156,7 @@ private: QTimer m_attentionTimer; bool m_isRequestingAttention; bool m_hasMenu; + bool m_registered; }; QT_END_NAMESPACE |