From 2694ec6605891271ed99f69a03b3929178655963 Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Thu, 14 Aug 2014 17:45:07 +0200 Subject: Fix a crash in WebEngineSettings when opening a new window A new window means that the QWebEnginePage gets its WebContentsAdapter swapped and that the pointer in WebEngineSettings must be updated. Do the WebContentsAdapter-to-WebEngineSettings binding in WebContentsAdapter::initialize to cover both cases. This also refactors the way that QWebEngineSettings is created by removing the need to pass a QWebEngineSettingsPrivate instance to be adopted, and also move the global settings construction logic in the singleton accessor instead of relying on the fact that it uses a different contructor. Change-Id: I6f8a2ed1407a4b25f9898526db9432721c354ddf Reviewed-by: Andras Becsi Reviewed-by: Allan Sandfeld Jensen --- src/webenginewidgets/api/qwebenginepage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/webenginewidgets/api/qwebenginepage.cpp') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 71099e547..4cf35f8c4 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -168,7 +168,7 @@ void CallbackDirectory::CallbackSharedDataPointer::doDeref() QWebEnginePagePrivate::QWebEnginePagePrivate() : adapter(new WebContentsAdapter) , history(new QWebEngineHistory(new QWebEngineHistoryPrivate(this))) - , settings(new QWebEngineSettings(new QWebEngineSettingsPrivate(adapter.data()))) + , settings(new QWebEngineSettings) , view(0) { memset(actions, 0, sizeof(actions)); -- cgit v1.2.3