diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-09-03 13:20:24 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-09-04 14:24:03 +0000 |
commit | 003924d46e5f886eca1fa3fd220e3d1b652322fb (patch) | |
tree | 19dac2aaaa3bbeac38deedaedc910a4a0ab58be8 /src/webengine/api/qquickwebenginedownloaditem_p_p.h | |
parent | 3f9c6206450b0c67a5dadfe0da023ec6be7d1743 (diff) |
Break destruction cycle between DownloadItem and WebEngineProfile
All QQWebEngineDownloadItem objects are destructed as child objects
of QQWebEngineProfile. However, they try to 'call back' to the
already half-destructed QQWebEngineProfile object to unregister
themselves.
Avoid this by tracking the lifetime of the QWebEngineProfile with
a QPointer.
Task-number: QTBUG-48088
Change-Id: Ie6a76440ad9f37d7cbc38b4ce35bf5da785d0e2a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Diffstat (limited to 'src/webengine/api/qquickwebenginedownloaditem_p_p.h')
-rw-r--r-- | src/webengine/api/qquickwebenginedownloaditem_p_p.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/webengine/api/qquickwebenginedownloaditem_p_p.h b/src/webengine/api/qquickwebenginedownloaditem_p_p.h index c858693e0..230f322b5 100644 --- a/src/webengine/api/qquickwebenginedownloaditem_p_p.h +++ b/src/webengine/api/qquickwebenginedownloaditem_p_p.h @@ -50,19 +50,21 @@ #include "browser_context_adapter_client.h" #include "qquickwebenginedownloaditem_p.h" +#include "qquickwebengineprofile_p.h" #include <private/qtwebengineglobal_p.h> #include <QString> +#include <QPointer> QT_BEGIN_NAMESPACE class QQuickWebEngineProfilePrivate; class QQuickWebEngineDownloadItemPrivate { QQuickWebEngineDownloadItem *q_ptr; - QQuickWebEngineProfilePrivate* profile; + QPointer<QQuickWebEngineProfile> profile; friend class QQuickWebEngineProfilePrivate; public: Q_DECLARE_PUBLIC(QQuickWebEngineDownloadItem) - QQuickWebEngineDownloadItemPrivate(QQuickWebEngineProfilePrivate *p); + QQuickWebEngineDownloadItemPrivate(QQuickWebEngineProfile *p); ~QQuickWebEngineDownloadItemPrivate(); quint32 downloadId; |