fix(bluetooth): 当蓝牙适配器id相同时,为了防止内存泄露,不应该替换map的元素。

Adapter为动态分配的内存空间,如果直接替换,可能导致这个变量无法被管理。所以如果传入相同的id指代的应该是同一个适配器,不需要替换。

Log: 当蓝牙适配器id相同时,为了防止内存泄露,不应该替换map的元素。
Change-Id: I3f0a4b9f46d728cc70c3d8a57cefa4fda2b908d8
This commit is contained in:
chenyunxiong 2020-11-18 10:44:47 +08:00
parent 5da7670e60
commit a19ecbe757

View File

@ -247,6 +247,10 @@ void AdaptersManager::adapterAdd(Adapter *adapter, const QJsonObject &adpterObj)
QString id = adapter->id();
if (!id.isEmpty()) {
// in case memory leaks
if (m_adapters.contains(id)) {
return;
}
m_adapters[id] = adapter;
}
}