diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2020-03-20 14:06:01 +0100 |
---|---|---|
committer | Kirill Burtsev <kirill.burtsev@qt.io> | 2020-03-23 09:46:52 +0100 |
commit | df241d1585e2ef6be28e38182cdf7e562e9c1a8a (patch) | |
tree | 1cd5852e79a1e5bf654a5e702ac202d11bf6156e /src/core/render_widget_host_view_qt.cpp | |
parent | 2ac4903962c9b7e25793d7bf3fdd084b0719d327 (diff) |
Protect against null adapter client OnRenderFrameMetadataChangedAfterActivation
Notification for metadata change is asynchronous and may come after
assigned adapter client was destroyed (that is at least what happens
in linked test comboBoxPopupPositionAfterChildMove for popup).
Fix is similar to 01ee897dc5.
Fixes: QTBUG-82987
Change-Id: Ia22ee3c054ed5d5c26982cff579be9d48145f93b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/render_widget_host_view_qt.cpp')
-rw-r--r-- | src/core/render_widget_host_view_qt.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 5366fba5f..26ddc807f 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -1882,9 +1882,9 @@ void RenderWidgetHostViewQt::OnRenderFrameMetadataChangedAfterActivation() gfx::SizeF contentsSize = metadata.root_layer_size; std::swap(m_lastScrollOffset, scrollOffset); std::swap(m_lastContentsSize, contentsSize); - if (scrollOffset != m_lastScrollOffset) + if (m_adapterClient && scrollOffset != m_lastScrollOffset) m_adapterClient->updateScrollPosition(toQt(m_lastScrollOffset)); - if (contentsSize != m_lastContentsSize) + if (m_adapterClient && contentsSize != m_lastContentsSize) m_adapterClient->updateContentsSize(toQt(m_lastContentsSize)); } |