summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothsocket_android.cpp
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2015-03-23 15:38:37 +0100
committerAlex Blasche <alexander.blasche@theqtcompany.com>2015-03-31 12:01:57 +0000
commitb4bf23453e65995bdd8827b6e146edd5cafeddc3 (patch)
treeae8c699be1531c7655eacedfc8b20de8b6891cba /src/bluetooth/qbluetoothsocket_android.cpp
parent9c60bf6d13c104f512d4dc5b99056b3b6f924fe6 (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/bluetooth/qbluetoothsocket_android.cpp')
-rw-r--r--src/bluetooth/qbluetoothsocket_android.cpp4
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);