* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwidgets/files/, dev-qt/qtwidgets/
@ 2019-07-16 11:00 Andreas Sturmlechner
0 siblings, 0 replies; 4+ messages in thread
From: Andreas Sturmlechner @ 2019-07-16 11:00 UTC (permalink / raw
To: gentoo-commits
commit: 541a1f06fe45169a693c9e1ca4d2a084d56b81f9
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 16 09:55:32 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 11:00:30 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=541a1f06
dev-qt/qtwidgets: Revert "Reset QWidget's winId..."
Reported-by: Nikos Chantziaras <realnc <AT> gmail.com>
Closes: https://bugs.gentoo.org/689704
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../qtwidgets-5.12.4-revert-reset-winId.patch | 41 +++++++++++++++
dev-qt/qtwidgets/qtwidgets-5.12.4-r1.ebuild | 60 ++++++++++++++++++++++
2 files changed, 101 insertions(+)
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 00000000000..777d0195a53
--- /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 00000000000..9839e4d9c9d
--- /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
+}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwidgets/files/, dev-qt/qtwidgets/
@ 2023-03-22 18:45 Andreas Sturmlechner
0 siblings, 0 replies; 4+ messages in thread
From: Andreas Sturmlechner @ 2023-03-22 18:45 UTC (permalink / raw
To: gentoo-commits
commit: 2c6246332f42f2c7ea5b95d48ad859b5d6a50eab
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 22 10:12:21 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Mar 22 18:45:45 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c624633
dev-qt/qtwidgets: Fix nullptr crash
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=467373
QTBUG: https://bugreports.qt.io/browse/QTBUG-104917
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../files/qtwidgets-5.15.8-QTBUG-104917.patch | 54 +++++++++++++++++
dev-qt/qtwidgets/qtwidgets-5.15.8-r4.ebuild | 68 ++++++++++++++++++++++
2 files changed, 122 insertions(+)
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 <axel.spoerl@qt.io>
+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 <volker.hilsheimer@qt.io>
+(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<const QStyleOptionFrame *>(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
+}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwidgets/files/, dev-qt/qtwidgets/
@ 2019-07-21 16:13 Andreas Sturmlechner
0 siblings, 0 replies; 4+ messages in thread
From: Andreas Sturmlechner @ 2019-07-21 16:13 UTC (permalink / raw
To: gentoo-commits
commit: d0c8c05643865244c0ecb981b0ed7237e2aee707
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 15:27:12 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 16:13:20 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0c8c056
dev-qt/qtwidgets: Add KDE (krita) upstream recommended backports
See also: https://mail.kde.org/pipermail/distributions/2019-April/000317.html
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
...ts-5.12.4-fix-notification-of-QDockWidget.patch | 37 +++++++++++++
...enterleaveEvent-for-accepted-QTabletEvent.patch | 49 +++++++++++++++++
dev-qt/qtwidgets/qtwidgets-5.12.4-r2.ebuild | 63 ++++++++++++++++++++++
3 files changed, 149 insertions(+)
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch
new file mode 100644
index 00000000000..5f72fef9d34
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-fix-notification-of-QDockWidget.patch
@@ -0,0 +1,37 @@
+Description: fix notification of QDockWidget when it gets undocked
+ Before the patch the notification was emitted only when the docker
+ was attached to the panel or changed a position on it.
+ .
+ It looks like the old behavior was documented in a unittest,
+ so this patch might actually be a "behavior change".
+ .
+ Note: https://mail.kde.org/pipermail/distributions/2019-April/000317.html
+Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=06b8644953fc5267
+Last-Update: 2019-06-14
+
+--- a/src/widgets/widgets/qdockwidget.cpp
++++ b/src/widgets/widgets/qdockwidget.cpp
+@@ -1171,6 +1171,8 @@ void QDockWidgetPrivate::setWindowState(
+ QMainWindowLayout *mwlayout = qt_mainwindow_layout_from_dock(q);
+ if (mwlayout)
+ emit q->dockLocationChanged(mwlayout->dockWidgetArea(q));
++ } else {
++ emit q->dockLocationChanged(Qt::NoDockWidgetArea);
+ }
+ }
+
+--- a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
++++ b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
+@@ -669,7 +669,11 @@ void tst_QDockWidget::dockLocationChange
+ spy.clear();
+
+ dw.setFloating(true);
+- QTest::qWait(100);
++ QTRY_COMPARE(spy.count(), 1);
++ QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
++ Qt::NoDockWidgetArea);
++ spy.clear();
++
+ dw.setFloating(false);
+ QTRY_COMPARE(spy.count(), 1);
+ QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch
new file mode 100644
index 00000000000..ab225009ab4
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.12.4-synth-enterleaveEvent-for-accepted-QTabletEvent.patch
@@ -0,0 +1,49 @@
+From de811eca72d17b7ef734afc1d44af00cc5952f22 Mon Sep 17 00:00:00 2001
+From: Dmitry Kazakov <dimula73@gmail.com>
+Date: Mon, 11 Mar 2019 13:18:06 +0300
+Subject: [PATCH] Synthesize Enter/LeaveEvent for accepted QTabletEvent
+
+When the tablet event is accepted, then Qt doesn't synthesize a mouse
+event, it means that QApplicationPrivate::sendMouseEvent() will not be
+called, and, therefore, enter/leave events will not be dispatched.
+
+The patch looks a bit hackish. Ideally, the synthesize should happen
+in QGuiApplicationPrivate::processTabletEvent(), which takes the decision
+about synthesizing mouse events. But there is not enough information
+on this level: neither qt_last_mouse_receiver nor the receiver widget
+are known at this stage.
+
+On Windows and other platforms where there is a parallel stream of
+mouse events synthesized by the platform, we shouldn't generate these
+events manually.
+
+Change-Id: Ifbad6284483ee282ad129db54606f5d0d9ddd633
+---
+ src/widgets/kernel/qwidgetwindow.cpp | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
+index fbc71cd0ea1..729a7f701ae 100644
+--- a/src/widgets/kernel/qwidgetwindow.cpp
++++ b/src/widgets/kernel/qwidgetwindow.cpp
+@@ -1051,6 +1051,18 @@ void QWidgetWindow::handleTabletEvent(QTabletEvent *event)
+ event->setAccepted(ev.isAccepted());
+ }
+
++ /**
++ * Synthesize Enter/Leave events if it is requested by the system and user
++ */
++ if (widget != qt_last_mouse_receiver &&
++ event->isAccepted() &&
++ !QWindowSystemInterfacePrivate::TabletEvent::platformSynthesizesMouse &&
++ qApp->testAttribute(Qt::AA_SynthesizeMouseForUnhandledTabletEvents)) {
++
++ QApplicationPrivate::dispatchEnterLeave(widget, qt_last_mouse_receiver, event->globalPos());
++ qt_last_mouse_receiver = widget;
++ }
++
+ if (event->type() == QEvent::TabletRelease && event->buttons() == Qt::NoButton)
+ qt_tablet_target = 0;
+ }
+--
+2.16.3
diff --git a/dev-qt/qtwidgets/qtwidgets-5.12.4-r2.ebuild b/dev-qt/qtwidgets/qtwidgets-5.12.4-r2.ebuild
new file mode 100644
index 00000000000..9d414296830
--- /dev/null
+++ b/dev-qt/qtwidgets/qtwidgets-5.12.4-r2.ebuild
@@ -0,0 +1,63 @@
+# 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
+ "${FILESDIR}/${P}-fix-notification-of-QDockWidget.patch"
+ # Still pending: https://codereview.qt-project.org/c/qt/qtbase/+/255384
+ "${FILESDIR}/${P}-synth-enterleaveEvent-for-accepted-QTabletEvent.patch"
+)
+
+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
+}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwidgets/files/, dev-qt/qtwidgets/
@ 2015-11-27 23:18 Davide Pesavento
0 siblings, 0 replies; 4+ messages in thread
From: Davide Pesavento @ 2015-11-27 23:18 UTC (permalink / raw
To: gentoo-commits
commit: 05d5b6242244efacef4fc316eb8e8f9fd8957eaa
Author: Davide Pesavento <pesa <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 27 23:08:10 2015 +0000
Commit: Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Fri Nov 27 23:18:32 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05d5b624
dev-qt/qtwidgets: backport patch to fix vlc video output
Gentoo-Bug: 563458
Package-Manager: portage-2.2.26
.../files/qtwidgets-5.5.1-vlc-video-output.patch | 39 ++++++++++++++++++
dev-qt/qtwidgets/qtwidgets-5.5.1-r1.ebuild | 47 ++++++++++++++++++++++
2 files changed, 86 insertions(+)
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.5.1-vlc-video-output.patch b/dev-qt/qtwidgets/files/qtwidgets-5.5.1-vlc-video-output.patch
new file mode 100644
index 0000000..a340c13
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.5.1-vlc-video-output.patch
@@ -0,0 +1,39 @@
+From 0f68f8920573cdce1729a285a92ac8582df32841 Mon Sep 17 00:00:00 2001
+From: Ulf Hermann <ulf.hermann@theqtcompany.com>
+Date: Tue, 27 Oct 2015 15:25:42 +0100
+Subject: QtWidgets: Do hide/show via WA_OutsideWSRange for native widgets
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+If a native widget has a width or height of 0 we don't have to
+invalidate its backing store as that is done by the window
+system. Certain applications rely on ... interesting ... behavior
+of certain window systems in this case.
+
+Task-number: QTBUG-48321
+Change-Id: I78ef29975181ee22429c9bd4b11d96d9e68b7a9c
+Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
+Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
+Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
+Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
+---
+ src/widgets/kernel/qwidget.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
+index 7734715..4286130 100644
+--- a/src/widgets/kernel/qwidget.cpp
++++ b/src/widgets/kernel/qwidget.cpp
+@@ -7169,7 +7169,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
+
+ bool needsShow = false;
+
+- if (q->isWindow()) {
++ if (q->isWindow() || q->windowHandle()) {
+ if (!(data.window_state & Qt::WindowFullScreen) && (w == 0 || h == 0)) {
+ q->setAttribute(Qt::WA_OutsideWSRange, true);
+ if (q->isVisible() && q->testAttribute(Qt::WA_Mapped))
+--
+2.6.3
+
diff --git a/dev-qt/qtwidgets/qtwidgets-5.5.1-r1.ebuild b/dev-qt/qtwidgets/qtwidgets-5.5.1-r1.ebuild
new file mode 100644
index 0000000..84895e4
--- /dev/null
+++ b/dev-qt/qtwidgets/qtwidgets-5.5.1-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Set of UI elements for creating classic desktop-style user interfaces for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86"
+fi
+
+# keep IUSE defaults in sync with qtgui
+IUSE="gles2 gtkstyle +png +xcb"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtgui-${PV}[gles2=,gtkstyle=,png=,xcb?]
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-vlc-video-output.patch" # bug 563458
+)
+
+QT5_TARGET_SUBDIRS=(
+ src/tools/uic
+ src/widgets
+)
+
+QT5_GENTOO_CONFIG=(
+ !:no-widgets:
+)
+
+src_configure() {
+ local myconf=(
+ $(qt_use gtkstyle)
+ -opengl $(usex gles2 es2 desktop)
+ $(qt_use png libpng system)
+ $(qt_use xcb xcb system)
+ $(qt_use xcb xkbcommon system)
+ $(use xcb && echo -xcb-xlib -xinput2 -xkb -xrender)
+ )
+ qt5-build_src_configure
+}
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-03-22 18:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-16 11:00 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwidgets/files/, dev-qt/qtwidgets/ Andreas Sturmlechner
-- strict thread matches above, loose matches on Subject: below --
2023-03-22 18:45 Andreas Sturmlechner
2019-07-21 16:13 Andreas Sturmlechner
2015-11-27 23:18 Davide Pesavento
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox