diff options
-rw-r--r-- | examples/bluetooth/heartrate-server/main.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/examples/bluetooth/heartrate-server/main.cpp b/examples/bluetooth/heartrate-server/main.cpp index f51a1694..ea01d07d 100644 --- a/examples/bluetooth/heartrate-server/main.cpp +++ b/examples/bluetooth/heartrate-server/main.cpp @@ -93,7 +93,7 @@ int main(int argc, char *argv[]) //! [Start Advertising] const QScopedPointer<QLowEnergyController> leController(QLowEnergyController::createPeripheral()); - const QScopedPointer<QLowEnergyService> service(leController->addService(serviceData)); + QScopedPointer<QLowEnergyService> service(leController->addService(serviceData)); leController->startAdvertising(QLowEnergyAdvertisingParameters(), advertisingData, advertisingData); //! [Start Advertising] @@ -123,9 +123,12 @@ int main(int argc, char *argv[]) heartbeatTimer.start(1000); //! [Provide Heartbeat] - auto reconnect = [&leController, advertisingData]() { - leController->startAdvertising(QLowEnergyAdvertisingParameters(), advertisingData, - advertisingData); + auto reconnect = [&leController, advertisingData, &service, serviceData]() + { + service.reset(leController->addService(serviceData)); + if (!service.isNull()) + leController->startAdvertising(QLowEnergyAdvertisingParameters(), + advertisingData, advertisingData); }; QObject::connect(leController.data(), &QLowEnergyController::disconnected, reconnect); |