diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2019-07-16 11:55:32 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-07-16 13:00:30 +0200 |
commit | 541a1f06fe45169a693c9e1ca4d2a084d56b81f9 (patch) | |
tree | 84eff0cc95e1eaed70266505f5f98c7c7cf24d84 /dev-qt/qtwidgets | |
parent | dev-libs/poco: fix tests (diff) | |
download | gentoo-541a1f06fe45169a693c9e1ca4d2a084d56b81f9.tar.gz gentoo-541a1f06fe45169a693c9e1ca4d2a084d56b81f9.tar.bz2 gentoo-541a1f06fe45169a693c9e1ca4d2a084d56b81f9.zip |
dev-qt/qtwidgets: Revert "Reset QWidget's winId..."
Reported-by: Nikos Chantziaras <realnc@gmail.com>
Closes: https://bugs.gentoo.org/689704
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-qt/qtwidgets')
-rw-r--r-- | dev-qt/qtwidgets/files/qtwidgets-5.12.4-revert-reset-winId.patch | 41 | ||||
-rw-r--r-- | dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild | 60 |
2 files changed, 101 insertions, 0 deletions
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.12.4-revert-reset-winId.patch b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-revert-reset-winId.patch new file mode 100644 index 000000000000..777d0195a53f --- /dev/null +++ b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-revert-reset-winId.patch @@ -0,0 +1,41 @@ +From deac052a40c93633041da058d5c73c9e91aa76c7 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@qt.io> +Date: Fri, 12 Jul 2019 12:28:29 +0200 +Subject: [PATCH] Revert "Reset QWidget's winId when backing window surface is + destroyed" + +This reverts commit a9246c7132a2c8864d3ae6cebd260bb9ee711fcb. + +The QWidget machinery is way to fragile to reset the winId under the +feet of QWidget like that. We would potentially need to include all +the logic in QWidget::destroy. This also ties into the flow between +QtGui and QtWidgets during window closing, which is still unresolved. + +Change-Id: I168048a63c89796398eb5331a80ce3e5c8d9a208 +Fixes: QTBUG-76588 +Task-number: QTBUG-69289 +Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> +Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> +--- + src/widgets/kernel/qwidget.cpp | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp +index fdb38729032..6f0f39a3443 100644 +--- a/src/widgets/kernel/qwidget.cpp ++++ b/src/widgets/kernel/qwidget.cpp +@@ -9382,12 +9382,6 @@ bool QWidget::event(QEvent *event) + d->renderToTextureReallyDirty = 1; + #endif + break; +- case QEvent::PlatformSurface: { +- auto surfaceEvent = static_cast<QPlatformSurfaceEvent*>(event); +- if (surfaceEvent->surfaceEventType() == QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed) +- d->setWinId(0); +- break; +- } + #ifndef QT_NO_PROPERTIES + case QEvent::DynamicPropertyChange: { + const QByteArray &propName = static_cast<QDynamicPropertyChangeEvent *>(event)->propertyName(); +-- +2.16.3 diff --git a/dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild b/dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild new file mode 100644 index 000000000000..9839e4d9c9df --- /dev/null +++ b/dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="Set of components for creating classic desktop-style UIs for the Qt5 framework" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd" +fi + +# keep IUSE defaults in sync with qtgui +IUSE="gles2 gtk +png +xcb" + +DEPEND=" + ~dev-qt/qtcore-${PV} + ~dev-qt/qtgui-${PV}[gles2=,png=,xcb?] + gtk? ( + ~dev-qt/qtgui-${PV}[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=( + gtk:gtk3: + ::widgets + !:no-widgets: +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :widgets +) + +PATCHES+=( + "${FILESDIR}/${P}-revert-reset-winId.patch" # bug 689704 +) + +src_configure() { + local myconf=( + -opengl $(usex gles2 es2 desktop) + $(qt_use gtk) + -gui + $(qt_use png libpng system) + -widgets + $(qt_use xcb xcb system) + $(usex xcb '-xcb-xlib -xcb-xinput -xkb -xkbcommon' '') + ) + qt5-build_src_configure +} |