From 7c5f2a9393a3fc77c0c5b2406332d57a37325183 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 7 Dec 2015 08:51:58 +0100 Subject: Fix incorrect device pixel ratio used on startup. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Report the correct device pixel ratio to Chromium, when the QOpenGLWidget gets initialized. The initial value on startup is incorrect, because Chromium tries to query the screen information, before a relevant QWindow handle can be returned, and thus defaults to 1.0f. Change-Id: Ibbedd7b2915840f9716340e582aedbc13406f11a Task-number: QTBUG-49727 Reviewed-by: Michael BrĂ¼ning --- src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/webenginewidgets') diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp index dba37cea7..3d7237367 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -271,6 +271,12 @@ void RenderWidgetHostViewQtDelegateWidget::initializeGL() m_sgRenderer.reset(m_sgEngine->createRenderer()); m_sgRenderer->setRootNode(m_rootNode.data()); m_sgRenderer->setClearColor(Qt::white); + + // When RenderWidgetHostViewQt::GetScreenInfo is called for the first time, the associated + // QWindow is NULL, and the screen device pixel ratio can not be queried. + // Re-initialize the screen information after the QWindow handle is available, + // so Chromium receives the correct device pixel ratio. + m_client->windowChanged(); } void RenderWidgetHostViewQtDelegateWidget::paintGL() -- cgit v1.2.3