summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-10-09 03:01:45 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-10-09 03:01:45 +0200
commit7ef3dfbd4354367ad78040010aa851943b7b9e75 (patch)
treefbcaf933bcd8e584a7bada0e580eb628dea21c43
parent2f48ae33f0e1aa2e93faa3ca54006f7c6699f428 (diff)
parent35a97ca4b43b4dc481b907d37204613460b07bbd (diff)
Merge remote-tracking branch 'origin/5.12' into dev
-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();
}
}