Blame SOURCES/0003-Only-delete-adapter-when-removed-from-m_adapters-has.patch

5ed677
From 241d21361a677fa44b3bd0c53e65f12cd23c5ba3 Mon Sep 17 00:00:00 2001
5ed677
From: David Rosca <nowrep@gmail.com>
5ed677
Date: Tue, 5 May 2015 17:04:06 +0200
5ed677
Subject: [PATCH 3/3] Only delete adapter when removed from m_adapters hash
5ed677
5ed677
BUG: 346329
5ed677
---
5ed677
 bluedevil/bluedevilmanager_p.cpp | 6 +++++-
5ed677
 1 file changed, 5 insertions(+), 1 deletion(-)
5ed677
5ed677
diff --git a/bluedevil/bluedevilmanager_p.cpp b/bluedevil/bluedevilmanager_p.cpp
5ed677
index 3c45f2a..af63593 100644
5ed677
--- a/bluedevil/bluedevilmanager_p.cpp
5ed677
+++ b/bluedevil/bluedevilmanager_p.cpp
5ed677
@@ -162,6 +162,10 @@ void ManagerPrivate::_k_interfacesRemoved(const QDBusObjectPath &objectPath, con
5ed677
             }
5ed677
             if (adapter) {
5ed677
                 emit m_q->adapterRemoved(adapter);
5ed677
+
5ed677
+                if (adapter->devices().isEmpty()) {
5ed677
+                    adapter->deleteLater();
5ed677
+                }
5ed677
             }
5ed677
             if (m_adapters.isEmpty()) {
5ed677
                 emit m_q->usableAdapterChanged(0);
5ed677
@@ -180,7 +184,7 @@ void ManagerPrivate::_k_interfacesRemoved(const QDBusObjectPath &objectPath, con
5ed677
             if (adapter) {
5ed677
                 adapter->removeDevice(object);
5ed677
 
5ed677
-                if (adapter->devices().isEmpty()) {
5ed677
+                if (adapter->devices().isEmpty() && !m_adapters.values().contains(adapter)) {
5ed677
                     adapter->deleteLater();
5ed677
                 }
5ed677
             }
5ed677
-- 
5ed677
2.4.0
5ed677