diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 5850b07b57cb7cfacb75cc7e3f1c12419433f942..dc36b98c4d4e1378876be63f4ce601b238fb6c39 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -363,8 +363,6 @@ WebContentsAdapterPrivate::WebContentsAdapterPrivate() WebContentsAdapterPrivate::~WebContentsAdapterPrivate() { - // Destroy the WebContents first - webContents.reset(); } QSharedPointer<WebContentsAdapter> WebContentsAdapter::createFromSerializedNavigationHistory(QDataStream &input, WebContentsAdapterClient *adapterClient) diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index f51a6dff36f61296a14f5c500c145a472268781b..db05fae4b5b0d27ac031de41a4699a6a7d8fe690 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -109,6 +109,13 @@ WebContentsDelegateQt::WebContentsDelegateQt(content::WebContents *webContents, Observe(webContents); } +WebContentsDelegateQt::~WebContentsDelegateQt() +{ + // The destruction of this object should take place before + // WebContents destruction since WebContentsAdapterClient + // might be already deleted. +} + content::WebContents *WebContentsDelegateQt::OpenURLFromTab(content::WebContents *source, const content::OpenURLParams ¶ms) { content::WebContents *target = source; diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h index 8440ec05321671dec2af8d1fdeab4c72c01d4690..2ebdb2ffc01469b0faa5ceb0bd991d9a3742ed66 100644 --- a/src/core/web_contents_delegate_qt.h +++ b/src/core/web_contents_delegate_qt.h @@ -92,7 +92,7 @@ class WebContentsDelegateQt : public content::WebContentsDelegate { public: WebContentsDelegateQt(content::WebContents*, WebContentsAdapterClient *adapterClient); - ~WebContentsDelegateQt() { Q_ASSERT(m_loadingErrorFrameList.isEmpty()); } + ~WebContentsDelegateQt(); QString lastSearchedString() const { return m_lastSearchedString; } void setLastSearchedString(const QString &s) { m_lastSearchedString = s; } int lastReceivedFindReply() const { return m_lastReceivedFindReply; }