From 1f07d2929a21e51f7a920cbe5b64fb706036c88d Mon Sep 17 00:00:00 2001
From: Pierre Rossi <pierre.rossi@digia.com>
Date: Fri, 7 Feb 2014 21:26:20 +0100
Subject: [PATCH] Prevent an embarassing crash

if people do something as nasty as "return this;" in createWindow.

Change-Id: Id9c3e22607e4676b7ea286a6f85816b347262615
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
---
 src/webenginewidgets/api/qwebenginepage.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index e9ad17cf0..0ed9d0135 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -250,7 +250,7 @@ void QWebEnginePagePrivate::adoptNewWindow(WebContentsAdapter *newWebContents, W
     Q_Q(QWebEnginePage);
     QWebEnginePage *newPage = q->createWindow(disposition == WebContentsAdapterClient::NewPopupDisposition ? QWebEnginePage::WebModalDialog : QWebEnginePage::WebBrowserWindow);
     // Overwrite the new page's WebContents with ours.
-    if (newPage) {
+    if (newPage && newPage->d_func() != this) {
         newPage->d_func()->adapter = newWebContents;
         newWebContents->initialize(newPage->d_func());
         if (!initialGeometry.isEmpty())
-- 
GitLab