diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2016-01-28 11:10:51 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2016-01-28 16:53:17 +0000 |
commit | 52f039fe09d0c0cfd9e988b8b15293a9b5d7583d (patch) | |
tree | 88eb61f5d419ce45896314edf4782c22e67bce52 /src | |
parent | 64da0f73b2f8a2f936113fd556c9477cea441ded (diff) |
Fix crash on open link in new window
The default implementation of QWebEngineView::createWindow returns a
null pointer. Add missing null pointer check in adoptNewWindow.
Change-Id: Ia6138f372ff169b9d32764b15550939adc247a1c
Task-number: QTBUG-50718
Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index aacf6c455..511ddfb0f 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -227,6 +227,8 @@ void QWebEnginePagePrivate::adoptNewWindow(WebContentsAdapter *newWebContents, W Q_UNUSED(userGesture); QWebEnginePage *newPage = q->createWindow(toWindowType(disposition)); + if (!newPage) + return; // Mark the new page as being in the process of being adopted, so that a second mouse move event // sent by newWebContents->initialize() gets filtered in RenderWidgetHostViewQt::forwardEvent. @@ -240,7 +242,7 @@ void QWebEnginePagePrivate::adoptNewWindow(WebContentsAdapter *newWebContents, W newPage->d_func()->m_isBeingAdopted = true; // Overwrite the new page's WebContents with ours. - if (newPage && newPage->d_func() != this) { + if (newPage->d_func() != this) { newPage->d_func()->adapter = newWebContents; newWebContents->initialize(newPage->d_func()); if (!initialGeometry.isEmpty()) |