From be14af2d51852951dbfea41913a7dd9d1190151e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 23 Mar 2023 00:43:56 +0000 Subject: gentoo auto-resync : 23:03:2023 - 00:43:55 --- dev-qt/qtwidgets/Manifest | 2 + .../files/qtwidgets-5.15.8-QTBUG-104917.patch | 54 +++++++++++++++++ dev-qt/qtwidgets/qtwidgets-5.15.8-r4.ebuild | 68 ++++++++++++++++++++++ 3 files changed, 124 insertions(+) create mode 100644 dev-qt/qtwidgets/files/qtwidgets-5.15.8-QTBUG-104917.patch create mode 100644 dev-qt/qtwidgets/qtwidgets-5.15.8-r4.ebuild (limited to 'dev-qt/qtwidgets') diff --git a/dev-qt/qtwidgets/Manifest b/dev-qt/qtwidgets/Manifest index 92a19a5e13a5..cb69fb5b7ef1 100644 --- a/dev-qt/qtwidgets/Manifest +++ b/dev-qt/qtwidgets/Manifest @@ -1,7 +1,9 @@ +AUX qtwidgets-5.15.8-QTBUG-104917.patch 2256 BLAKE2B d8c311af0e3b0829b33e7a7f3042d1d98945c96deecca5aada63639cf422d471756c346c5c5d4655c398160068fde6a63a54934f5f390a8555c1851af67cbb84 SHA512 368480f5ed2333036013bb2cfdcde44c9284b559a9d637e077477e2511f3fdd3a175f3aafce9ab48fd58269b2b2f38c54048a13fbf43a97272d68e9596f2429b AUX qtwidgets-5.15.8-QTBUG-106569.patch 1986 BLAKE2B f8030cf8c3f683517d36a80fd3b8da575b74801adba771b8f267745877a809d92ff5f23fac0bde08efdcabc431338829cf96cb6d13eb4d43552a0bb7e3d7868e SHA512 19b6643361683c852d817d850108055ae86a27f658b0fd7dfa5b98bfe47374113ad4c149a120b48d25444d7d54ce645b01c3a94d4f980fc0055f2269961bbe48 DIST qtbase-5.15-gentoo-patchset-3.tar.xz 3856 BLAKE2B 0752426f9bc2dfa1ab2bc246b29f5d00305df05175a7801d7d5eddacfa46fcb605d9a317547edc01d3ef339f6effc2fcee7549cb7aecced37f0098166c70dbe2 SHA512 2515bea53232e76ca3e40bdaf1dd52fdf452052a2f40002ee91360d1fcceea3c5c2f5a8d2a3bfc0f9c2bacd61460a632c5b351accd73fd37b64985593219148e DIST qtbase-5.15.8-gentoo-kde-5.tar.xz 793372 BLAKE2B f486a0275fdf4da28a88ba40b7e6f227267fa05e8f466f734f720e792de1796501d5f1fb4427a84ca2d709bfa07abd695ad59210f7fd11227b1bf465484736b8 SHA512 f51d7ee2d121acda1141b9816197afc57ac0176a12acc08a93c2a793694afb734f8f1ad280a5bf95170cf912e32edb4a6612befeb4198fec78a7e50bbb6a61cd DIST qtbase-everywhere-opensource-src-5.15.8.tar.xz 50259432 BLAKE2B cb1b790a384a5cad9a95fdc448e275d48a68c6ee2addf08b40f9963cc5762fd7ab15852dea8392dc76da39f1565c1e23ddb5875c280f0177e802082f4b4f7f2b SHA512 29e8877bafdbc908072209f1b27a5040b022e2b71f17f4ab4cecd570adeae21597f9af7f1d38758760f3cb30376eeb15c5f066bf02c6e9a9e3a4d07f967046ce EBUILD qtwidgets-5.15.8-r2.ebuild 1200 BLAKE2B 81fb29cbaccc25e1ee0a094551410909e1869ee23c85d1c86c05beb0c9f93046a1672a7619ba4a41fad91f59db5e6cba250d82263a57c960695cd69d5c713b60 SHA512 95a331bbaa646d7bbf48a183434300a64e887cb51a1c5a3bf2683267d4f99d479639fe394d043dfe00996933382c2c7f2f886638c9d9dcd404085138ae5bf2ca EBUILD qtwidgets-5.15.8-r3.ebuild 1253 BLAKE2B da2efc3cd5815a3abe41aab2e9ce54ab309d22983f71d7790c911463ce574def908f02469b4a91fc0ea2be001fb52117535845c2df9c8db2be1d07000a56fb69 SHA512 050efc3b7bcfebf988f9ae73ccdc7512ccebca2cebf0865fb85c377fa16e5bcad217d6ede9b8ec9e4b0a7dd1ce39b44fd1abd7e536be1de06ed1734c4a8be6f8 +EBUILD qtwidgets-5.15.8-r4.ebuild 1314 BLAKE2B 4bbfed4cfd4aa2b328265a0c41f91a48104e3dd8806d3e204e8996ccd8548b18961d37d44d5a4e2264ab8884096227d0c87b98a53de10fa48fd1808a574fe60a SHA512 78f9ca3efd656b1aecb893bcf9d9862b70b35de0a3c96d8efc2e11729740f79f47a5f03151457ac9f7aaa09e3081477add753f5fc4e76e1ca3719c6abbb70d7e MISC metadata.xml 559 BLAKE2B 3ea80a5e419db32987d68d7e5033fa75fa0ff22b31b0842fd7ead902172cbe83650b0bbdf8657a57e428726e7cdf114d9011bd16066c080bc5f6ecb3f691d42c SHA512 51172365a186fbca09651bfd751284960dda4036390af2afab9812a7ae3fabdd9d60a336dee3cfc5e3d133a0216bf77e29660b9cdee2f0bcd2ce43c27297bdb1 diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.15.8-QTBUG-104917.patch b/dev-qt/qtwidgets/files/qtwidgets-5.15.8-QTBUG-104917.patch new file mode 100644 index 000000000000..fae665b14d2e --- /dev/null +++ b/dev-qt/qtwidgets/files/qtwidgets-5.15.8-QTBUG-104917.patch @@ -0,0 +1,54 @@ +From 38c54b3ff58972fa16810740fc43933620b6dc0d Mon Sep 17 00:00:00 2001 +From: Axel Spoerl +Date: Wed, 27 Jul 2022 15:17:03 +0200 +Subject: [PATCH] Add nullptr guard in + QStyleSheetStyle::drawPrimitive(PE_PanelLineEdit) + +Drawing PE_PanelLineEdit in QStyleSheetStyle with the default argument +widget = nullptr causes a segfault. + +drawPrimitive tries to fall back to a container widget's render rule +and therefore calls containerWidget() - which crashes when called with +nullptr. + +Container widget fallback is pointless when drawPrimitive() is called +with widget == nullptr. This patch skips it in that case. + +Fixes: QTBUG-104917 +Pick-to: 6.4 6.3 6.2 +Change-Id: I09e57dccfebb81a308944c233846d5b9ef58819e +Reviewed-by: Volker Hilsheimer +(cherry picked from commit effc8be3ce848770a093d51d5651908c375e83f8) +--- + src/widgets/styles/qstylesheetstyle.cpp | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp +index 9fcb8ba522..50fdee0f69 100644 +--- a/src/widgets/styles/qstylesheetstyle.cpp ++++ b/src/widgets/styles/qstylesheetstyle.cpp +@@ -4449,12 +4449,15 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op + + case PE_PanelLineEdit: + if (const QStyleOptionFrame *frm = qstyleoption_cast(opt)) { +- QWidget *container = containerWidget(w); +- if (container != w) { +- QRenderRule containerRule = renderRule(container, opt); +- if (!containerRule.hasNativeBorder() || !containerRule.baseStyleCanDraw()) +- return; +- rule = containerRule; ++ // Fall back to container widget's render rule ++ if (w) { ++ QWidget *container = containerWidget(w); ++ if (container != w) { ++ QRenderRule containerRule = renderRule(container, opt); ++ if (!containerRule.hasNativeBorder() || !containerRule.baseStyleCanDraw()) ++ return; ++ rule = containerRule; ++ } + } + + if (rule.hasNativeBorder()) { +-- +2.40.0 + diff --git a/dev-qt/qtwidgets/qtwidgets-5.15.8-r4.ebuild b/dev-qt/qtwidgets/qtwidgets-5.15.8-r4.ebuild new file mode 100644 index 000000000000..45c06643f187 --- /dev/null +++ b/dev-qt/qtwidgets/qtwidgets-5.15.8-r4.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=5 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="Set of components for creating classic desktop-style UIs for the Qt5 framework" + +# keep IUSE defaults in sync with qtgui +IUSE="dbus gles2-only gtk +png +X" +REQUIRED_USE="gtk? ( dbus )" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtgui-${QT5_PV}*:5=[gles2-only=,png=,X?] + dbus? ( =dev-qt/qtdbus-${QT5_PV}* ) + gtk? ( + dev-libs/glib:2 + =dev-qt/qtgui-${QT5_PV}*:5=[dbus] + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/pango + ) +" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/tools/uic + src/widgets + src/plugins/platformthemes +) + +QT5_GENTOO_CONFIG=( + dbus:xdgdesktopportal: + gtk:gtk3: + ::widgets + !:no-widgets: +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :widgets +) + +PATCHES=( + "${FILESDIR}/${P}-QTBUG-106569.patch" + "${FILESDIR}/${P}-QTBUG-104917.patch" # KDE-bug 467373 +) + +src_configure() { + local myconf=( + -opengl $(usex gles2-only es2 desktop) + $(usev dbus -dbus-linked) + $(qt_use gtk) + -gui + $(qt_use png libpng system) + -widgets + $(qt_use X xcb) + $(usev X '-xcb-xlib -xkbcommon') + ) + qt5-build_src_configure +} -- cgit v1.2.3