From 2f3dc3af6dca2308e73edf99a553d038c892af59 Mon Sep 17 00:00:00 2001 From: h2zero Date: Thu, 6 Feb 2025 18:05:21 -0700 Subject: [PATCH] Bugfix: add missing taskData when retrieving all descriptors --- src/NimBLERemoteCharacteristic.cpp | 4 +++- src/NimBLERemoteCharacteristic.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/NimBLERemoteCharacteristic.cpp b/src/NimBLERemoteCharacteristic.cpp index 8896644d..2c2e9323 100644 --- a/src/NimBLERemoteCharacteristic.cpp +++ b/src/NimBLERemoteCharacteristic.cpp @@ -176,8 +176,10 @@ NimBLERemoteDescriptor* NimBLERemoteCharacteristic::getDescriptor(const NimBLEUU */ const std::vector& NimBLERemoteCharacteristic::getDescriptors(bool refresh) const { if (refresh) { + NimBLETaskData taskData(const_cast(this)); + NimBLEDescriptorFilter filter = {nullptr, nullptr, &taskData}; deleteDescriptors(); - retrieveDescriptors(); + retrieveDescriptors(&filter); } return m_vDescriptors; diff --git a/src/NimBLERemoteCharacteristic.h b/src/NimBLERemoteCharacteristic.h index 6ecda8d6..27833c9d 100644 --- a/src/NimBLERemoteCharacteristic.h +++ b/src/NimBLERemoteCharacteristic.h @@ -67,7 +67,7 @@ class NimBLERemoteCharacteristic : public NimBLERemoteValueAttribute { ~NimBLERemoteCharacteristic(); bool setNotify(uint16_t val, notify_callback notifyCallback = nullptr, bool response = true) const; - bool retrieveDescriptors(NimBLEDescriptorFilter* filter = nullptr) const; + bool retrieveDescriptors(NimBLEDescriptorFilter* filter) const; static int descriptorDiscCB( uint16_t connHandle, const ble_gatt_error* error, uint16_t chrHandle, const ble_gatt_dsc* dsc, void* arg);