summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-03 08:05:42 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-03 08:05:42 +0100
commit8435c842b9e8fbb2bcc80397ab3aa655000459e2 (patch)
treeb74558e80643a8f074c501e8b4bf7f50f7155455 /dev-qt/qtwebengine/files
parent5c5e9714c851027611cb726a76ebb8be6d48cbdc (diff)
gentoo auto-resync : 03:07:2024 - 08:05:42
Diffstat (limited to 'dev-qt/qtwebengine/files')
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.7.2-QTBUG-113574.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.7.2-QTBUG-113574.patch b/dev-qt/qtwebengine/files/qtwebengine-6.7.2-QTBUG-113574.patch
new file mode 100644
index 000000000000..d8a9158c8a01
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.7.2-QTBUG-113574.patch
@@ -0,0 +1,41 @@
+Backport of [1] from 6.8/6.9 for [2].
+
+[1] https://codereview.qt-project.org/c/qt/qtwebengine/+/569910
+[2] https://bugreports.qt.io/browse/QTBUG-113574
+
+From 21a9add47def34322b799683e1e1daff88dc4a06 Mon Sep 17 00:00:00 2001
+From: David Edmundson <davidedmundson@kde.org>
+Date: Wed, 19 Jun 2024 10:37:45 +0100
+Subject: [PATCH] Use device pixel ratio of the window rather than the screen
+
+Window device pixel ratio can differ from the screen depending on the
+platform. The window is the more authorative source with new events in
+Qt to support that.
+
+In Chromium the rendering is still based off a screen factor, but each
+view will have a completely independent set of screen variables, so we
+can adjust the screen to match our current view.
+
+Chromium itself also alters the screen scale factor on a per window
+basis for their own native Wayland backend or if recording a window.
+--- a/src/core/render_widget_host_view_qt.cpp
++++ b/src/core/render_widget_host_view_qt.cpp
+@@ -875,4 +875,9 @@
+
+ display::ScreenInfos newScreenInfos = screenInfosFromQtForUpdate(window->screen());
++
++ // We always want to use the scale from our current window
++ // This screen information is stored on a per-view basis
++ auto &screen = newScreenInfos.mutable_current();
++ screen.device_scale_factor = window->devicePixelRatio();
+ if (screen_infos_ == newScreenInfos)
+ return false;
+--- a/src/core/render_widget_host_view_qt_delegate_item.cpp
++++ b/src/core/render_widget_host_view_qt_delegate_item.cpp
+@@ -346,4 +346,6 @@
+ onHide();
+ }
++ } else if (change == QQuickItem::ItemDevicePixelRatioHasChanged) {
++ m_client->visualPropertiesChanged();
+ }
+ }