summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qnativesocketengine_winrt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/socket/qnativesocketengine_winrt.cpp')
-rw-r--r--src/network/socket/qnativesocketengine_winrt.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/network/socket/qnativesocketengine_winrt.cpp b/src/network/socket/qnativesocketengine_winrt.cpp
index 7ac6297de6..2eb2141fee 100644
--- a/src/network/socket/qnativesocketengine_winrt.cpp
+++ b/src/network/socket/qnativesocketengine_winrt.cpp
@@ -875,8 +875,14 @@ void QNativeSocketEngine::close()
if (d->closingDown)
return;
- if (d->pendingReadNotification)
+ if (d->pendingReadNotification) {
+ // We use QPointer here to see if this QNativeSocketEngine was deleted as a result of
+ // finishing and cleaning up a network request when calling "processReadReady".
+ QPointer<QNativeSocketEngine> alive(this);
processReadReady();
+ if (alive.isNull())
+ return;
+ }
d->closingDown = true;