From a5e677741a9cbc8b257a58a2ffe3c5f5ee785152 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Thu, 16 Jan 2020 13:58:33 +0100 Subject: QDeclarativePositionSource::socketError - use deleteLater This is a slot directly connected to the socket's signal. This means, deleting the socket from the slot leaves the socket's code that was emitting with an invalid 'this' pointer. Fixes: QTBUG-81069 Change-Id: I5b915f8d103809b80d1af34655eaa5231bddc7a6 Reviewed-by: Timur Pocheptsov Reviewed-by: Alex Blasche --- src/positioningquick/qdeclarativepositionsource.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/positioningquick/qdeclarativepositionsource.cpp b/src/positioningquick/qdeclarativepositionsource.cpp index 6e042d9f..d6c62147 100644 --- a/src/positioningquick/qdeclarativepositionsource.cpp +++ b/src/positioningquick/qdeclarativepositionsource.cpp @@ -404,8 +404,8 @@ void QDeclarativePositionSource::socketConnected() */ void QDeclarativePositionSource::socketError(QAbstractSocket::SocketError error) { - delete m_nmeaSocket; - m_nmeaSocket = 0; + m_nmeaSocket->deleteLater(); + m_nmeaSocket = nullptr; switch (error) { case QAbstractSocket::UnknownSocketError: -- cgit v1.2.1