summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bluetooth/qleadvertiser_p.h5
-rw-r--r--src/bluetooth/qlowenergycontroller_bluez.cpp5
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 &params,
const QLowEnergyAdvertisingData &advData,
const QLowEnergyAdvertisingData &responseData, QObject *parent)
: QObject(parent), m_params(params), m_advData(advData), m_responseData(responseData) {}
virtual ~QLeAdvertiser() { }
+protected:
const QLowEnergyAdvertisingParameters &parameters() 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();
}
}