summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-02-16 15:46:55 +0100
committerShawn Rutledge <shawn.rutledge@digia.com>2015-02-20 12:52:43 +0000
commit9bf8b2a412b77fa01e88c3f9ad9a9e7792cd4ac5 (patch)
treea26101c4197ffd8be3c4a7d789cf090e14717249 /src/platformsupport
parentbc20d794cfddcc34d44a42217aabda1302972cf0 (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.cpp7
-rw-r--r--src/platformsupport/dbustray/qdbustrayicon_p.h1
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