summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2016-08-08 10:46:04 +0200
committerOliver Wolff <oliver.wolff@qt.io>2016-08-09 06:57:51 +0000
commitefaa9711183b1a7d518baa89fa74cbe5606a073a (patch)
treea0379e117cadddeedcaabe5b789d150be656f2ce /src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
parent649cfde5a99ab673fc56cd766b9362ff172c1705 (diff)
winrt: Connect LE timeout to correct discovery worker
The timer has to be connected to the newly created workers, otherwise the timeout will only be triggered for the first worker that is created. Change-Id: Ifee8bc16f1308e126a47b3c2a88b5a4475f28620 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp')
-rw-r--r--src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp b/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
index 1ba743ca..674302bf 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
@@ -390,9 +390,9 @@ void QBluetoothDeviceDiscoveryAgentPrivate::start(QBluetoothDeviceDiscoveryAgent
if (!leScanTimer) {
leScanTimer = new QTimer(this);
leScanTimer->setSingleShot(true);
- connect(leScanTimer, &QTimer::timeout,
- worker, &QWinRTBluetoothDeviceDiscoveryWorker::onLeTimeout);
}
+ connect(leScanTimer, &QTimer::timeout,
+ worker, &QWinRTBluetoothDeviceDiscoveryWorker::onLeTimeout);
leScanTimer->setInterval(lowEnergySearchTimeout);
leScanTimer->start();
}
@@ -445,6 +445,10 @@ void QBluetoothDeviceDiscoveryAgentPrivate::disconnectAndClearWorker()
this, &QBluetoothDeviceDiscoveryAgentPrivate::onScanFinished);
disconnect(worker, &QWinRTBluetoothDeviceDiscoveryWorker::leDeviceFound,
q, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered);
+ if (leScanTimer) {
+ disconnect(leScanTimer, &QTimer::timeout,
+ worker, &QWinRTBluetoothDeviceDiscoveryWorker::onLeTimeout);
+ }
worker->deleteLater();
worker.clear();
}