summaryrefslogtreecommitdiff
path: root/dev-qt/qtgui/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
commitd934827bf44b7cfcf6711964418148fa60877668 (patch)
tree0625f358789b5e015e49db139cc1dbc9be00428f /dev-qt/qtgui/files
parent2e34d110f164bf74d55fced27fe0000201b3eec5 (diff)
gentoo resync : 25.11.2020
Diffstat (limited to 'dev-qt/qtgui/files')
-rw-r--r--dev-qt/qtgui/files/qtgui-5.14.2-CVE-2020-17507.patch39
-rw-r--r--dev-qt/qtgui/files/qtgui-5.15.1-emit-qscreen-geometrychanged-when-dpi-changes.patch86
2 files changed, 86 insertions, 39 deletions
diff --git a/dev-qt/qtgui/files/qtgui-5.14.2-CVE-2020-17507.patch b/dev-qt/qtgui/files/qtgui-5.14.2-CVE-2020-17507.patch
deleted file mode 100644
index cad9aa4b682c..000000000000
--- a/dev-qt/qtgui/files/qtgui-5.14.2-CVE-2020-17507.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 1616c71921b73b227f56ccb3f2c49a994ec23440 Mon Sep 17 00:00:00 2001
-From: Allan Sandfeld Jensen <allan.jensen@qt.io>
-Date: Thu, 23 Jul 2020 11:48:48 +0200
-Subject: Fix buffer overflow in XBM parser
-
-Avoid parsing over the buffer limit, or interpreting non-hex
-as hex.
-
-This still leaves parsing of lines longer than 300 chars
-unreliable
-
-Change-Id: I1c57a7e530c4380f6f9040b2ec729ccd7dc7a5fb
-Reviewed-by: Robert Loehning <robert.loehning@qt.io>
-Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
-(cherry picked from commit c562c1fc19629fb505acd0f6380604840b634211)
-Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
----
- src/gui/image/qxbmhandler.cpp | 4 ++-
- .../gui/image/qimagereader/tst_qimagereader.cpp | 38 ++++++++++++++++++++++
- 2 files changed, 41 insertions(+), 1 deletion(-)
-
-diff --git a/src/gui/image/qxbmhandler.cpp b/src/gui/image/qxbmhandler.cpp
-index f06561690c..72ce7f7ecd 100644
---- a/src/gui/image/qxbmhandler.cpp
-+++ b/src/gui/image/qxbmhandler.cpp
-@@ -159,7 +159,9 @@ static bool read_xbm_body(QIODevice *device, int w, int h, QImage *outImage)
- w = (w+7)/8; // byte width
-
- while (y < h) { // for all encoded bytes...
-- if (p) { // p = "0x.."
-+ if (p && p < (buf + readBytes - 3)) { // p = "0x.."
-+ if (!isxdigit(p[2]) || !isxdigit(p[3]))
-+ return false;
- *b++ = hex2byte(p+2);
- p += 2;
- if (++x == w && ++y < h) {
---
-cgit v1.2.1
-
diff --git a/dev-qt/qtgui/files/qtgui-5.15.1-emit-qscreen-geometrychanged-when-dpi-changes.patch b/dev-qt/qtgui/files/qtgui-5.15.1-emit-qscreen-geometrychanged-when-dpi-changes.patch
new file mode 100644
index 000000000000..3e4187b22a06
--- /dev/null
+++ b/dev-qt/qtgui/files/qtgui-5.15.1-emit-qscreen-geometrychanged-when-dpi-changes.patch
@@ -0,0 +1,86 @@
+From 65243ad7aef48af4689ea4454916b504025b5051 Mon Sep 17 00:00:00 2001
+From: Friedemann Kleint <Friedemann.Kleint@qt.io>
+Date: Fri, 25 Sep 2020 14:10:58 +0200
+Subject: [PATCH] Emit QScreen::geometryChanged when the logical DPI changes
+
+Add the missing call to QScreenPrivate::emitGeometryChangeSignals()
+along with an emission of physicalDotsPerInchChanged()
+since that is calculated from geometry and physical size.
+
+Rearrange the code in
+QGuiApplicationPrivate::processScreenGeometryChange()
+to prevent duplicate emissions of geometryChanged(),
+physicalDotsPerInchChanged() which this change would introduce.
+
+Amends 5290027e3bab75f14fc0a2b7c206594d9cb91e76.
+
+Task-number: QTBUG-76902
+Task-number: QTBUG-79248
+Fixes: QTBUG-86604
+Change-Id: I3dc2ec5ccd9c6413e92f9246242f323e8afc5e57
+Reviewed-by: David Edmundson <davidedmundson@kde.org>
+(cherry picked from commit 5c7307775d32ae0a54acad8ae7a1c9d3cff7d45e)
+Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
+---
+ src/gui/kernel/qguiapplication.cpp | 11 +++++------
+ src/gui/kernel/qscreen.cpp | 6 ++++++
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
+index 239a78313c5..ef090605819 100644
+--- a/src/gui/kernel/qguiapplication.cpp
++++ b/src/gui/kernel/qguiapplication.cpp
+@@ -3162,13 +3162,14 @@ void QGuiApplicationPrivate::processScreenGeometryChange(QWindowSystemInterfaceP
+ bool availableGeometryChanged = e->availableGeometry != s->d_func()->availableGeometry;
+ s->d_func()->availableGeometry = e->availableGeometry;
+
+- if (geometryChanged) {
+- Qt::ScreenOrientation primaryOrientation = s->primaryOrientation();
++ const Qt::ScreenOrientation primaryOrientation = s->primaryOrientation();
++ if (geometryChanged)
+ s->d_func()->updatePrimaryOrientation();
+
+- emit s->geometryChanged(s->geometry());
++ s->d_func()->emitGeometryChangeSignals(geometryChanged, availableGeometryChanged);
++
++ if (geometryChanged) {
+ emit s->physicalSizeChanged(s->physicalSize());
+- emit s->physicalDotsPerInchChanged(s->physicalDotsPerInch());
+ emit s->logicalDotsPerInchChanged(s->logicalDotsPerInch());
+
+ if (s->primaryOrientation() != primaryOrientation)
+@@ -3178,8 +3179,6 @@ void QGuiApplicationPrivate::processScreenGeometryChange(QWindowSystemInterfaceP
+ updateFilteredScreenOrientation(s);
+ }
+
+- s->d_func()->emitGeometryChangeSignals(geometryChanged, availableGeometryChanged);
+-
+ resetCachedDevicePixelRatio();
+ }
+
+diff --git a/src/gui/kernel/qscreen.cpp b/src/gui/kernel/qscreen.cpp
+index df628fcc73a..a1afc1ba143 100644
+--- a/src/gui/kernel/qscreen.cpp
++++ b/src/gui/kernel/qscreen.cpp
+@@ -88,6 +88,9 @@ void QScreenPrivate::updateGeometriesWithSignals()
+ void QScreenPrivate::emitGeometryChangeSignals(bool geometryChanged, bool availableGeometryChanged)
+ {
+ Q_Q(QScreen);
++ if (geometryChanged)
++ emit q->geometryChanged(geometry);
++
+ if (availableGeometryChanged)
+ emit q->availableGeometryChanged(availableGeometry);
+
+@@ -96,6 +99,9 @@ void QScreenPrivate::emitGeometryChangeSignals(bool geometryChanged, bool availa
+ for (QScreen* sibling : siblings)
+ emit sibling->virtualGeometryChanged(sibling->virtualGeometry());
+ }
++
++ if (geometryChanged)
++ emit q->physicalDotsPerInchChanged(q->physicalDotsPerInch());
+ }
+
+ void QScreenPrivate::setPlatformScreen(QPlatformScreen *screen)
+--
+2.16.3