diff options
-rw-r--r-- | src/webenginequick/api/qquickwebengineview.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/webenginequick/api/qquickwebengineview.cpp b/src/webenginequick/api/qquickwebengineview.cpp index b566b038e..9ceffe09f 100644 --- a/src/webenginequick/api/qquickwebengineview.cpp +++ b/src/webenginequick/api/qquickwebengineview.cpp @@ -882,11 +882,17 @@ void QQuickWebEngineViewPrivate::bindViewAndDelegateItem(QQuickWebEngineViewPriv // Change pointers first. - if (oldViewPrivate && oldViewPrivate != viewPrivate) - oldViewPrivate->delegateItem = nullptr; + if (delegateItem && oldViewPrivate != viewPrivate) { + if (oldViewPrivate) + oldViewPrivate->delegateItem = nullptr; + delegateItem->m_adapterClient = viewPrivate; + } - if (viewPrivate && oldDelegateItem != delegateItem) + if (viewPrivate && oldDelegateItem != delegateItem) { + if (oldDelegateItem) + oldDelegateItem->m_adapterClient = nullptr; viewPrivate->delegateItem = delegateItem; + } // Then notify. |