diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bluetooth/qleadvertiser_p.h | 5 | ||||
-rw-r--r-- | src/bluetooth/qlowenergycontroller_bluez.cpp | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/bluetooth/qleadvertiser_p.h b/src/bluetooth/qleadvertiser_p.h index e8f55bda..9b8ffbb5 100644 --- a/src/bluetooth/qleadvertiser_p.h +++ b/src/bluetooth/qleadvertiser_p.h @@ -73,13 +73,14 @@ public: signals: void errorOccurred(); -protected: +public: QLeAdvertiser(const QLowEnergyAdvertisingParameters ¶ms, const QLowEnergyAdvertisingData &advData, const QLowEnergyAdvertisingData &responseData, QObject *parent) : QObject(parent), m_params(params), m_advData(advData), m_responseData(responseData) {} virtual ~QLeAdvertiser() { } +protected: const QLowEnergyAdvertisingParameters ¶meters() const { return m_params; } const QLowEnergyAdvertisingData &advertisingData() const { return m_advData; } const QLowEnergyAdvertisingData &scanResponseData() const { return m_responseData; } @@ -106,7 +107,7 @@ public: const QLowEnergyAdvertisingData &advertisingData, const QLowEnergyAdvertisingData &scanResponseData, HciManager &hciManager, QObject *parent = nullptr); - ~QLeAdvertiserBluez(); + ~QLeAdvertiserBluez() override; private: void doStartAdvertising() override; diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp index 2b979244..65f4e0c2 100644 --- a/src/bluetooth/qlowenergycontroller_bluez.cpp +++ b/src/bluetooth/qlowenergycontroller_bluez.cpp @@ -810,8 +810,11 @@ void QLowEnergyControllerPrivateBluez::resetController() if (role == QLowEnergyController::PeripheralRole) { // public API behavior requires stop of advertisement - if (advertiser) + if (advertiser) { advertiser->stopAdvertising(); + delete advertiser; + advertiser = nullptr; + } localAttributes.clear(); } } |