diff options
| author | Moss Heim <moss.heim@qt.io> | 2024-07-04 13:32:01 +0200 |
|---|---|---|
| committer | Moss Heim <moss.heim@qt.io> | 2024-07-15 13:20:17 +0000 |
| commit | aa7c32734ca0b05440d01ffd6b943ce435825947 (patch) | |
| tree | e9e8916f14415d67777ae539e4f88c688d427ee0 /src/core/api/qwebenginepage.cpp | |
| parent | f4b3399471112ae5f6df86c649df2c6e25c99410 (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.cpp | 6 |
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 {}; } |
