diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-11-25 22:39:15 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-11-25 22:39:15 +0000 |
commit | d934827bf44b7cfcf6711964418148fa60877668 (patch) | |
tree | 0625f358789b5e015e49db139cc1dbc9be00428f /dev-qt/qtgui/files | |
parent | 2e34d110f164bf74d55fced27fe0000201b3eec5 (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.patch | 39 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-5.15.1-emit-qscreen-geometrychanged-when-dpi-changes.patch | 86 |
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 |