From be5e82cb78b064c76517cf258310131cf9d38a5b Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 22 Aug 2014 17:57:23 +0100 Subject: [PATCH] Only execute UrlHandler helper once --- src/libtomahawk/UrlHandler_p.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/UrlHandler_p.h b/src/libtomahawk/UrlHandler_p.h index 27ac84a67..607abd6ba 100644 --- a/src/libtomahawk/UrlHandler_p.h +++ b/src/libtomahawk/UrlHandler_p.h @@ -32,6 +32,7 @@ public: NetworkReply* reply; IODeviceCallback callback; QWeakPointer ref; + bool once = false; HttpIODeviceReadyHandler( NetworkReply* _reply, IODeviceCallback _callback ) : reply( _reply ) @@ -44,7 +45,13 @@ public slots: void called() { - QSharedPointer< QIODevice > sp = QSharedPointer< QIODevice >( reply->reply(), &QObject::deleteLater ); + // Sometimes Qt calls this function twice. Weird. + if (once) { + deleteLater(); + } + once = true; + + QSharedPointer< QIODevice > sp( reply->reply(), &QObject::deleteLater ); callback( reply->reply()->url().toString(), sp ); // Call once, then self-destruct