From cb9707a5117af2354806090b81e9cd0332297dc3 Mon Sep 17 00:00:00 2001 From: luddens Date: Tue, 4 Jun 2019 11:13:38 +0200 Subject: [PATCH] Fix random crash The buffers, where reply of a request is send, were deleted when they were about to close but it makes the app crash, they have to be deleted when the request object is deleted --- src/urlschemehandler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/urlschemehandler.cpp b/src/urlschemehandler.cpp index 5e5a98b..750cf04 100644 --- a/src/urlschemehandler.cpp +++ b/src/urlschemehandler.cpp @@ -49,7 +49,7 @@ UrlSchemeHandler::handleContentRequest(QWebEngineUrlRequestJob *request) BlobBuffer* buffer = new BlobBuffer(entry.getBlob()); auto mimeType = QByteArray::fromStdString(entry.getMimetype()); mimeType = mimeType.split(';')[0]; - connect(buffer, &QIODevice::aboutToClose, buffer, &QObject::deleteLater); + connect(request, &QObject::destroyed, buffer, &QObject::deleteLater); request->reply(mimeType, buffer); } @@ -69,7 +69,7 @@ UrlSchemeHandler::handleMetaRequest(QWebEngineUrlRequestJob* request) std::string mimeType = book.getFaviconMimeType(); QBuffer* buffer = new QBuffer; buffer->setData(content.data(), content.size()); - connect(buffer, &QIODevice::aboutToClose, buffer, &QObject::deleteLater); + connect(request, &QObject::destroyed, buffer, &QObject::deleteLater); request->reply(QByteArray::fromStdString(mimeType), buffer); } request->fail(QWebEngineUrlRequestJob::UrlNotFound);