diff options
author | Alex Blasche <alexander.blasche@theqtcompany.com> | 2015-03-23 15:38:37 +0100 |
---|---|---|
committer | Alex Blasche <alexander.blasche@theqtcompany.com> | 2015-03-31 12:01:57 +0000 |
commit | b4bf23453e65995bdd8827b6e146edd5cafeddc3 (patch) | |
tree | ae8c699be1531c7655eacedfc8b20de8b6891cba /src | |
parent | 9c60bf6d13c104f512d4dc5b99056b3b6f924fe6 (diff) |
Android: Fix crash due to dangling pointer inputthread
This happened when the remote device closes the socket and the local
Android device tries to reconnect using connectToDevice().
Change-Id: I1d8e3bfaea5f956cd71e390f4ab6e9d39256a66d
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/bluetooth/qbluetoothsocket_android.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bluetooth/qbluetoothsocket_android.cpp b/src/bluetooth/qbluetoothsocket_android.cpp index 3217a9b8..b4ebeb89 100644 --- a/src/bluetooth/qbluetoothsocket_android.cpp +++ b/src/bluetooth/qbluetoothsocket_android.cpp @@ -651,6 +651,10 @@ void QBluetoothSocketPrivate::inputThreadError(int errorCode) emit closeJavaSocket(); inputStream = outputStream = remoteDevice = socketObject = QAndroidJniObject(); + if (inputThread) { + // deleted already above (client->deleteLater()) + inputThread = 0; + } } q->setSocketState(QBluetoothSocket::UnconnectedState); |