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

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