From e4e313f1d63f2f906cf198d88272beb7f6fd692c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 15 Dec 2018 13:16:53 +0530 Subject: [PATCH] Proper fix for random crashes --- src/calibre/gui2/viewer2/web_view.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/viewer2/web_view.py b/src/calibre/gui2/viewer2/web_view.py index 8c2f3d873b..a526af7359 100644 --- a/src/calibre/gui2/viewer2/web_view.py +++ b/src/calibre/gui2/viewer2/web_view.py @@ -127,6 +127,8 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler): def send_reply(self, rq, mime_type, data): if sip.isdeleted(rq): return + # make the buf a child of rq so that it is automatically deleted when + # rq is deleted buf = QBuffer(parent=rq) buf.open(QBuffer.WriteOnly) # we have to copy data into buf as it will be garbage @@ -134,9 +136,7 @@ class UrlSchemeHandler(QWebEngineUrlSchemeHandler): buf.write(data) buf.seek(0) buf.close() - buf.aboutToClose.connect(buf.deleteLater) rq.reply(mime_type.encode('ascii'), buf) - # }}}