summaryrefslogtreecommitdiffstats
path: root/src/webengine/api/qquickwebenginedownloaditem_p_p.h
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@theqtcompany.com>2015-09-03 13:20:24 +0200
committerKai Koehne <kai.koehne@theqtcompany.com>2015-09-04 14:24:03 +0000
commit003924d46e5f886eca1fa3fd220e3d1b652322fb (patch)
tree19dac2aaaa3bbeac38deedaedc910a4a0ab58be8 /src/webengine/api/qquickwebenginedownloaditem_p_p.h
parent3f9c6206450b0c67a5dadfe0da023ec6be7d1743 (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.h6
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;