diff options
author | Alex Blasche <alexander.blasche@qt.io> | 2017-10-17 13:04:45 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@qt.io> | 2017-10-17 13:55:46 +0200 |
commit | d6c4d74f4f32699a013705d492ee467ec5006df1 (patch) | |
tree | 9ffeaaa124986049fd5b6a992f61b26b35badd10 /src/bluetooth/qbluetoothservicediscoveryagent.cpp | |
parent | e26edb020084554e8b567d3bc15ce638394cf7fc (diff) | |
parent | 125cdccc346903d6e70ed26289cdaed85e26ec3f (diff) |
Merge remote-tracking branch 'gerrit/dev' into win
Change-Id: I28ee9f95cc0fb85a36b5bd7b2ad87e0179446995
Diffstat (limited to 'src/bluetooth/qbluetoothservicediscoveryagent.cpp')
-rw-r--r-- | src/bluetooth/qbluetoothservicediscoveryagent.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/bluetooth/qbluetoothservicediscoveryagent.cpp b/src/bluetooth/qbluetoothservicediscoveryagent.cpp index 8998d608..d6163f0e 100644 --- a/src/bluetooth/qbluetoothservicediscoveryagent.cpp +++ b/src/bluetooth/qbluetoothservicediscoveryagent.cpp @@ -442,7 +442,7 @@ void QBluetoothServiceDiscoveryAgentPrivate::startDeviceDiscovery() setDiscoveryState(DeviceDiscovery); - deviceDiscoveryAgent->start(); + deviceDiscoveryAgent->start(QBluetoothDeviceDiscoveryAgent::ClassicMethod); } /*! @@ -450,6 +450,10 @@ void QBluetoothServiceDiscoveryAgentPrivate::startDeviceDiscovery() */ void QBluetoothServiceDiscoveryAgentPrivate::stopDeviceDiscovery() { + // disconnect to avoid recursion during stop() - QTBUG-60131 + // we don't care about a potential signals from device discovery agent anymore + deviceDiscoveryAgent->disconnect(); + deviceDiscoveryAgent->stop(); delete deviceDiscoveryAgent; deviceDiscoveryAgent = 0; @@ -497,6 +501,10 @@ void QBluetoothServiceDiscoveryAgentPrivate::_q_deviceDiscoveryError(QBluetoothD error = static_cast<QBluetoothServiceDiscoveryAgent::Error>(newError); errorString = deviceDiscoveryAgent->errorString(); + // disconnect to avoid recursion during stop() - QTBUG-60131 + // we don't care about a potential signals from device discovery agent anymore + deviceDiscoveryAgent->disconnect(); + deviceDiscoveryAgent->stop(); delete deviceDiscoveryAgent; deviceDiscoveryAgent = 0; |