summaryrefslogtreecommitdiffstats
path: root/src/core/api/qwebenginepage.cpp
diff options
context:
space:
mode:
authorMoss Heim <moss.heim@qt.io>2024-07-04 13:32:01 +0200
committerMoss Heim <moss.heim@qt.io>2024-07-15 13:20:17 +0000
commitaa7c32734ca0b05440d01ffd6b943ce435825947 (patch)
treee9e8916f14415d67777ae539e4f88c688d427ee0 /src/core/api/qwebenginepage.cpp
parentf4b3399471112ae5f6df86c649df2c6e25c99410 (diff)
QWebEngineFrame: hold weak ref to adapter
This is a bit safer as it prevents crashes when the adapter/page is no longer around. This also adds a getter for the adapterClient on WebContentsAdapter. Pick-to: 6.8 Change-Id: I50690fd7bf3e5fe60568c565ce0fff20a832351f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core/api/qwebenginepage.cpp')
-rw-r--r--src/core/api/qwebenginepage.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp
index 433de26b0..c125b3aca 100644
--- a/src/core/api/qwebenginepage.cpp
+++ b/src/core/api/qwebenginepage.cpp
@@ -1768,7 +1768,7 @@ void QWebEnginePagePrivate::printRequested()
void QWebEnginePagePrivate::printRequestedByFrame(quint64 frameId)
{
Q_Q(QWebEnginePage);
- QWebEngineFrame frame(this, frameId);
+ QWebEngineFrame frame(adapter, frameId);
QTimer::singleShot(0, q, [q, frame]() { Q_EMIT q->printRequestedByFrame(frame); });
if (view)
view->printRequestedByFrame(frame);
@@ -2555,7 +2555,7 @@ void QWebEnginePage::setVisible(bool visible)
QWebEngineFrame QWebEnginePage::mainFrame()
{
Q_D(QWebEnginePage);
- return QWebEngineFrame(d, d->adapter->mainFrameId());
+ return QWebEngineFrame(d->adapter, d->adapter->mainFrameId());
}
/*!
@@ -2568,7 +2568,7 @@ std::optional<QWebEngineFrame> QWebEnginePage::findFrameByName(QAnyStringView na
{
Q_D(QWebEnginePage);
if (auto maybeId = d->adapter->findFrameIdByName(name.toString())) {
- return QWebEngineFrame(d, *maybeId);
+ return QWebEngineFrame(d->adapter, *maybeId);
}
return {};
}