diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp index 5cb8cf6bed8..e6cba483f9d 100644 --- a/src/network/kernel/qhostinfo.cpp +++ b/src/network/kernel/qhostinfo.cpp @@ -742,6 +742,8 @@ int QHostInfo::lookupHostImpl(const QString &name, if (!QAbstractEventDispatcher::instance(QThread::currentThread())) { qWarning("QHostInfo::lookupHost() called with no event dispatcher"); + if (slotObj) + slotObj->destroyIfLastRef(); return -1; } @@ -802,6 +804,8 @@ int QHostInfo::lookupHostImpl(const QString &name, QObject::connect(&runnable->resultEmitter, SIGNAL(resultsReady(QHostInfo)), receiver, member, Qt::QueuedConnection); manager->scheduleLookup(runnable); + } else if (slotObj) { + slotObj->destroyIfLastRef(); } #endif // Q_OS_WASM return id;