* [gentoo-commits] proj/qt:master commit in: dev-qt/qtwidgets/, dev-qt/qtwidgets/files/
@ 2014-05-24 17:43 Davide Pesavento
0 siblings, 0 replies; 4+ messages in thread
From: Davide Pesavento @ 2014-05-24 17:43 UTC (permalink / raw
To: gentoo-commits
commit: df6eab209d70041be2127f15e9979798ec1214ca
Author: Davide Pesavento <pesa <AT> gentoo <DOT> org>
AuthorDate: Sat May 24 17:42:33 2014 +0000
Commit: Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Sat May 24 17:42:33 2014 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/qt.git;a=commit;h=df6eab20
[dev-qt/qtwidgets] Add upstream patch to fix rendering of context menus.
Thanks to Elias Probst in bug 511388.
Package-Manager: portage-2.2.10
---
| 37 ++++++++++++++++++++++
dev-qt/qtwidgets/qtwidgets-5.3.0.ebuild | 5 +++
2 files changed, 42 insertions(+)
--git a/dev-qt/qtwidgets/files/0001-Ensure-the-QMenu-is-polished-before-creating-the-nat.patch b/dev-qt/qtwidgets/files/0001-Ensure-the-QMenu-is-polished-before-creating-the-nat.patch
new file mode 100644
index 0000000..e9947da
--- /dev/null
+++ b/dev-qt/qtwidgets/files/0001-Ensure-the-QMenu-is-polished-before-creating-the-nat.patch
@@ -0,0 +1,37 @@
+From df3720527dddad4c04ad1a6b7c07f4bd66495053 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
+Date: Mon, 28 Apr 2014 09:42:10 +0200
+Subject: Ensure the QMenu is polished before creating the native window
+
+Call ::ensurePolished from QMenu::exec before the native window gets
+created. This ensures that the style handles the menu before its too
+late. E.g. a style which wants to create RGBA menus needs to add the
+appropriate flag before the native window gets created. Without this
+change the style cannot change to RGBA as the native window has already
+been created and changing the format used by QWindow is not possible
+after QWindow::create was called.
+
+Change-Id: Ic861037a438b4cb74c59a00be0ef2d633db538ed
+Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
+Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
+Reviewed-by: David Edmundson <davidedmundson@kde.org>
+Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
+---
+ src/widgets/widgets/qmenu.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
+index 403ebe7..7e48bad 100644
+--- a/src/widgets/widgets/qmenu.cpp
++++ b/src/widgets/widgets/qmenu.cpp
+@@ -2177,6 +2177,7 @@ QAction *QMenu::exec()
+ QAction *QMenu::exec(const QPoint &p, QAction *action)
+ {
+ Q_D(QMenu);
++ ensurePolished();
+ createWinId();
+ QEventLoop eventLoop;
+ d->eventLoop = &eventLoop;
+--
+1.9.3
+
diff --git a/dev-qt/qtwidgets/qtwidgets-5.3.0.ebuild b/dev-qt/qtwidgets/qtwidgets-5.3.0.ebuild
index e2b87e5..683b0d1 100644
--- a/dev-qt/qtwidgets/qtwidgets-5.3.0.ebuild
+++ b/dev-qt/qtwidgets/qtwidgets-5.3.0.ebuild
@@ -29,3 +29,8 @@ QT5_TARGET_SUBDIRS=(
src/widgets
src/plugins/accessible
)
+
+PATCHES=(
+ # bug 511388
+ "${FILESDIR}/0001-Ensure-the-QMenu-is-polished-before-creating-the-nat.patch"
+)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] proj/qt:master commit in: dev-qt/qtwidgets/, dev-qt/qtwidgets/files/
@ 2014-06-28 1:50 Davide Pesavento
0 siblings, 0 replies; 4+ messages in thread
From: Davide Pesavento @ 2014-06-28 1:50 UTC (permalink / raw
To: gentoo-commits
commit: dec357e79272b00c9d5e5a6113a3147f9fe1ad73
Author: David Heidelberger <david.heidelberger <AT> ixit <DOT> cz>
AuthorDate: Fri Jun 27 16:49:47 2014 +0000
Commit: Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Sat Jun 28 01:48:28 2014 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/qt.git;a=commit;h=dec357e7
[dev-qt/qtwidgets] Cherry pick systray improvement from dev branch.
Recommended by KDE developers, for more information see
http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/
---
.../files/qtwidgets-5.3.1-prefer-qpa.patch | 343 +++++++++++++++++++++
...gets-5.3.1.ebuild => qtwidgets-5.3.1-r1.ebuild} | 5 +
dev-qt/qtwidgets/qtwidgets-5.3.9999.ebuild | 5 +
3 files changed, 353 insertions(+)
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.3.1-prefer-qpa.patch b/dev-qt/qtwidgets/files/qtwidgets-5.3.1-prefer-qpa.patch
new file mode 100644
index 0000000..2a5d130
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.3.1-prefer-qpa.patch
@@ -0,0 +1,343 @@
+From f1ee10f81ac18789e9a7dc715b464415ba2bc2b8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= <mgraesslin@kde.org>
+Date: Wed, 19 Feb 2014 11:01:44 +0100
+Subject: Prefer QPA implementation in qsystemtrayicon_x11 if available
+
+In order to have the possibility to provide a custom QSystemTrayIcon
+implementation in the platform theme instead of the X11 xembed based
+one, the qpa implementation needs to be called. This was not possible
+as qpa and x11 implementation were compile time mutual exclusive.
+
+This change moves the qpa implementation in the shared part and the
+methods in qsystemtrayicon_qpa just delegate to them. In addition the
+_x11 part tries to create a QPlatformSystemTrayIcon through the
+platform theme and if that succeeds the implementation prefers the qpa
+variant and delegates to the same methods.
+
+Change-Id: I6b33acac63524a77ebdce39af6eb74666f8c7561
+Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
+Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
+Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
+---
+ src/widgets/util/qsystemtrayicon.cpp | 68 ++++++++++++++++++++++++++++++++
+ src/widgets/util/qsystemtrayicon_p.h | 9 +++++
+ src/widgets/util/qsystemtrayicon_qpa.cpp | 51 +++++-------------------
+ src/widgets/util/qsystemtrayicon_x11.cpp | 40 ++++++++++++++++++-
+ 4 files changed, 126 insertions(+), 42 deletions(-)
+
+diff --git a/src/widgets/util/qsystemtrayicon.cpp b/src/widgets/util/qsystemtrayicon.cpp
+index f1a69e6..fa318f3 100644
+--- a/src/widgets/util/qsystemtrayicon.cpp
++++ b/src/widgets/util/qsystemtrayicon.cpp
+@@ -672,6 +672,74 @@ void QBalloonTip::timerEvent(QTimerEvent *e)
+ QWidget::timerEvent(e);
+ }
+
++//////////////////////////////////////////////////////////////////////
++void QSystemTrayIconPrivate::install_sys_qpa()
++{
++ qpa_sys->init();
++ QObject::connect(qpa_sys, SIGNAL(activated(QPlatformSystemTrayIcon::ActivationReason)),
++ q_func(), SLOT(_q_emitActivated(QPlatformSystemTrayIcon::ActivationReason)));
++ QObject::connect(qpa_sys, &QPlatformSystemTrayIcon::messageClicked,
++ q_func(), &QSystemTrayIcon::messageClicked);
++ updateMenu_sys();
++ updateIcon_sys();
++ updateToolTip_sys();
++}
++
++void QSystemTrayIconPrivate::remove_sys_qpa()
++{
++ qpa_sys->cleanup();
++}
++
++QRect QSystemTrayIconPrivate::geometry_sys_qpa() const
++{
++ return qpa_sys->geometry();
++}
++
++void QSystemTrayIconPrivate::updateIcon_sys_qpa()
++{
++ qpa_sys->updateIcon(icon);
++}
++
++void QSystemTrayIconPrivate::updateMenu_sys_qpa()
++{
++ if (menu) {
++ if (!menu->platformMenu()) {
++ QPlatformMenu *platformMenu = qpa_sys->createMenu();
++ if (platformMenu)
++ menu->setPlatformMenu(platformMenu);
++ }
++ qpa_sys->updateMenu(menu->platformMenu());
++ }
++}
++
++void QSystemTrayIconPrivate::updateToolTip_sys_qpa()
++{
++ qpa_sys->updateToolTip(toolTip);
++}
++
++void QSystemTrayIconPrivate::showMessage_sys_qpa(const QString &message,
++ const QString &title,
++ QSystemTrayIcon::MessageIcon icon,
++ int msecs)
++{
++ QIcon notificationIcon;
++ switch (icon) {
++ case QSystemTrayIcon::Information:
++ notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation);
++ break;
++ case QSystemTrayIcon::Warning:
++ notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxWarning);
++ break;
++ case QSystemTrayIcon::Critical:
++ notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical);
++ break;
++ default:
++ break;
++ }
++ qpa_sys->showMessage(message, title, notificationIcon,
++ static_cast<QPlatformSystemTrayIcon::MessageIcon>(icon), msecs);
++}
++
+ QT_END_NAMESPACE
+
+ #endif // QT_NO_SYSTEMTRAYICON
+diff --git a/src/widgets/util/qsystemtrayicon_p.h b/src/widgets/util/qsystemtrayicon_p.h
+index 211ef30..317664a 100644
+--- a/src/widgets/util/qsystemtrayicon_p.h
++++ b/src/widgets/util/qsystemtrayicon_p.h
+@@ -98,6 +98,15 @@ public:
+ QSystemTrayIconSys *sys;
+ QPlatformSystemTrayIcon *qpa_sys;
+ bool visible;
++
++private:
++ void install_sys_qpa();
++ void remove_sys_qpa();
++ void updateIcon_sys_qpa();
++ void updateToolTip_sys_qpa();
++ void updateMenu_sys_qpa();
++ QRect geometry_sys_qpa() const;
++ void showMessage_sys_qpa(const QString &msg, const QString &title, QSystemTrayIcon::MessageIcon icon, int secs);
+ };
+
+ class QBalloonTip : public QWidget
+diff --git a/src/widgets/util/qsystemtrayicon_qpa.cpp b/src/widgets/util/qsystemtrayicon_qpa.cpp
+index f98aeaf..045641c 100644
+--- a/src/widgets/util/qsystemtrayicon_qpa.cpp
++++ b/src/widgets/util/qsystemtrayicon_qpa.cpp
+@@ -65,28 +65,20 @@ QSystemTrayIconPrivate::~QSystemTrayIconPrivate()
+
+ void QSystemTrayIconPrivate::install_sys()
+ {
+- if (qpa_sys) {
+- qpa_sys->init();
+- QObject::connect(qpa_sys, SIGNAL(activated(QPlatformSystemTrayIcon::ActivationReason)),
+- q_func(), SLOT(_q_emitActivated(QPlatformSystemTrayIcon::ActivationReason)));
+- QObject::connect(qpa_sys, SIGNAL(messageClicked()),
+- q_func(), SIGNAL(messageClicked()));
+- updateMenu_sys();
+- updateIcon_sys();
+- updateToolTip_sys();
+- }
++ if (qpa_sys)
++ install_sys_qpa();
+ }
+
+ void QSystemTrayIconPrivate::remove_sys()
+ {
+ if (qpa_sys)
+- qpa_sys->cleanup();
++ remove_sys_qpa();
+ }
+
+ QRect QSystemTrayIconPrivate::geometry_sys() const
+ {
+ if (qpa_sys)
+- return qpa_sys->geometry();
++ return geometry_sys_qpa();
+ else
+ return QRect();
+ }
+@@ -94,25 +86,19 @@ QRect QSystemTrayIconPrivate::geometry_sys() const
+ void QSystemTrayIconPrivate::updateIcon_sys()
+ {
+ if (qpa_sys)
+- qpa_sys->updateIcon(icon);
++ updateIcon_sys_qpa();
+ }
+
+ void QSystemTrayIconPrivate::updateMenu_sys()
+ {
+- if (qpa_sys && menu) {
+- if (!menu->platformMenu()) {
+- QPlatformMenu *platformMenu = qpa_sys->createMenu();
+- if (platformMenu)
+- menu->setPlatformMenu(platformMenu);
+- }
+- qpa_sys->updateMenu(menu->platformMenu());
+- }
++ if (qpa_sys)
++ updateMenu_sys_qpa();
+ }
+
+ void QSystemTrayIconPrivate::updateToolTip_sys()
+ {
+ if (qpa_sys)
+- qpa_sys->updateToolTip(toolTip);
++ updateToolTip_sys_qpa();
+ }
+
+ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
+@@ -138,25 +124,8 @@ void QSystemTrayIconPrivate::showMessage_sys(const QString &message,
+ QSystemTrayIcon::MessageIcon icon,
+ int msecs)
+ {
+- if (!qpa_sys)
+- return;
+-
+- QIcon notificationIcon;
+- switch (icon) {
+- case QSystemTrayIcon::Information:
+- notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation);
+- break;
+- case QSystemTrayIcon::Warning:
+- notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxWarning);
+- break;
+- case QSystemTrayIcon::Critical:
+- notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical);
+- break;
+- default:
+- break;
+- }
+- qpa_sys->showMessage(message, title, notificationIcon,
+- static_cast<QPlatformSystemTrayIcon::MessageIcon>(icon), msecs);
++ if (qpa_sys)
++ showMessage_sys_qpa(message, title, icon, msecs);
+ }
+
+ QT_END_NAMESPACE
+diff --git a/src/widgets/util/qsystemtrayicon_x11.cpp b/src/widgets/util/qsystemtrayicon_x11.cpp
+index 347e570..27d0418 100644
+--- a/src/widgets/util/qsystemtrayicon_x11.cpp
++++ b/src/widgets/util/qsystemtrayicon_x11.cpp
+@@ -55,6 +55,9 @@
+ #include <qscreen.h>
+ #include <qbackingstore.h>
+ #include <qpa/qplatformnativeinterface.h>
++#include <qpa/qplatformsystemtrayicon.h>
++#include <qpa/qplatformtheme.h>
++#include <private/qguiapplication_p.h>
+ #include <qdebug.h>
+
+ #ifndef QT_NO_SYSTEMTRAYICON
+@@ -209,16 +212,22 @@ void QSystemTrayIconSys::paintEvent(QPaintEvent *)
+
+ QSystemTrayIconPrivate::QSystemTrayIconPrivate()
+ : sys(0),
++ qpa_sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()),
+ visible(false)
+ {
+ }
+
+ QSystemTrayIconPrivate::~QSystemTrayIconPrivate()
+ {
++ delete qpa_sys;
+ }
+
+ void QSystemTrayIconPrivate::install_sys()
+ {
++ if (qpa_sys) {
++ install_sys_qpa();
++ return;
++ }
+ Q_Q(QSystemTrayIcon);
+ if (!sys && locateSystemTray()) {
+ sys = new QSystemTrayIconSys(q);
+@@ -229,6 +238,8 @@ void QSystemTrayIconPrivate::install_sys()
+
+ QRect QSystemTrayIconPrivate::geometry_sys() const
+ {
++ if (qpa_sys)
++ return geometry_sys_qpa();
+ if (!sys)
+ return QRect();
+ return sys->globalGeometry();
+@@ -236,6 +247,10 @@ QRect QSystemTrayIconPrivate::geometry_sys() const
+
+ void QSystemTrayIconPrivate::remove_sys()
+ {
++ if (qpa_sys) {
++ remove_sys_qpa();
++ return;
++ }
+ if (!sys)
+ return;
+ QBalloonTip::hideBalloon();
+@@ -246,17 +261,26 @@ void QSystemTrayIconPrivate::remove_sys()
+
+ void QSystemTrayIconPrivate::updateIcon_sys()
+ {
++ if (qpa_sys) {
++ updateIcon_sys_qpa();
++ return;
++ }
+ if (sys)
+ sys->updateIcon();
+ }
+
+ void QSystemTrayIconPrivate::updateMenu_sys()
+ {
+-
++ if (qpa_sys)
++ updateMenu_sys_qpa();
+ }
+
+ void QSystemTrayIconPrivate::updateToolTip_sys()
+ {
++ if (qpa_sys) {
++ updateToolTip_sys_qpa();
++ return;
++ }
+ if (!sys)
+ return;
+ #ifndef QT_NO_TOOLTIP
+@@ -266,6 +290,11 @@ void QSystemTrayIconPrivate::updateToolTip_sys()
+
+ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
+ {
++ QScopedPointer<QPlatformSystemTrayIcon> sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon());
++ if (sys)
++ return sys->isSystemTrayAvailable();
++
++ // no QPlatformSystemTrayIcon so fall back to default xcb platform behavior
+ const QString platform = QGuiApplication::platformName();
+ if (platform.compare(QStringLiteral("xcb"), Qt::CaseInsensitive) == 0)
+ return locateSystemTray();
+@@ -274,12 +303,21 @@ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
+
+ bool QSystemTrayIconPrivate::supportsMessages_sys()
+ {
++ QScopedPointer<QPlatformSystemTrayIcon> sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon());
++ if (sys)
++ return sys->supportsMessages();
++
++ // no QPlatformSystemTrayIcon so fall back to default xcb platform behavior
+ return true;
+ }
+
+ void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title,
+ QSystemTrayIcon::MessageIcon icon, int msecs)
+ {
++ if (qpa_sys) {
++ showMessage_sys_qpa(message, title, icon, msecs);
++ return;
++ }
+ if (!sys)
+ return;
+ const QPoint g = sys->globalGeometry().topLeft();
+--
+2.0.0
+
diff --git a/dev-qt/qtwidgets/qtwidgets-5.3.1.ebuild b/dev-qt/qtwidgets/qtwidgets-5.3.1-r1.ebuild
similarity index 79%
rename from dev-qt/qtwidgets/qtwidgets-5.3.1.ebuild
rename to dev-qt/qtwidgets/qtwidgets-5.3.1-r1.ebuild
index e2b87e5..c50f5ce 100644
--- a/dev-qt/qtwidgets/qtwidgets-5.3.1.ebuild
+++ b/dev-qt/qtwidgets/qtwidgets-5.3.1-r1.ebuild
@@ -24,6 +24,11 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+PATCHES=(
+ # http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/
+ "${FILESDIR}/${PN}-5.3.1-prefer-qpa.patch"
+)
+
QT5_TARGET_SUBDIRS=(
src/tools/uic
src/widgets
diff --git a/dev-qt/qtwidgets/qtwidgets-5.3.9999.ebuild b/dev-qt/qtwidgets/qtwidgets-5.3.9999.ebuild
index e2b87e5..c50f5ce 100644
--- a/dev-qt/qtwidgets/qtwidgets-5.3.9999.ebuild
+++ b/dev-qt/qtwidgets/qtwidgets-5.3.9999.ebuild
@@ -24,6 +24,11 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+PATCHES=(
+ # http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/
+ "${FILESDIR}/${PN}-5.3.1-prefer-qpa.patch"
+)
+
QT5_TARGET_SUBDIRS=(
src/tools/uic
src/widgets
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] proj/qt:master commit in: dev-qt/qtwidgets/, dev-qt/qtwidgets/files/
@ 2019-09-29 7:04 Andreas Sturmlechner
0 siblings, 0 replies; 4+ messages in thread
From: Andreas Sturmlechner @ 2019-09-29 7:04 UTC (permalink / raw
To: gentoo-commits
commit: a01453d34ae409ef1a3430a08c01b4633484a696
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 28 09:55:39 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Sep 28 09:55:55 2019 +0000
URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=a01453d3
dev-qt/qtwidgets: Fix focus widget issue
Fixes keyboard input or rather lack thereof in qtwebengine based applications.
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
...dgets-5.13.1-adjust-focus-widget-properly.patch | 34 ++++++++++++++++++++++
dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild | 2 ++
2 files changed, 36 insertions(+)
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.13.1-adjust-focus-widget-properly.patch b/dev-qt/qtwidgets/files/qtwidgets-5.13.1-adjust-focus-widget-properly.patch
new file mode 100644
index 00000000..6fdc0f2b
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.13.1-adjust-focus-widget-properly.patch
@@ -0,0 +1,34 @@
+From 947883141d9d8b3079a8a21981ad8a5ce3c4798e Mon Sep 17 00:00:00 2001
+From: David Faure <david.faure@kdab.com>
+Date: Mon, 9 Sep 2019 18:12:26 +0200
+Subject: [PATCH] QWidget::setFocusProxy: adjust focus widget properly
+
+My commit 3e7463411e adjusted the focus widget by setting
+QApplicationPrivate::focus_widget directly, while there is a method for
+doing this properly, including setFocus_sys() and emitting signals.
+
+Fixes: QTBUG-77364
+Change-Id: I218acf7a9de39173d282ced46def4f65594f80b4
+Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org>
+Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
+---
+ 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 04290a4ce12..0fa59077449 100644
+--- a/src/widgets/kernel/qwidget.cpp
++++ b/src/widgets/kernel/qwidget.cpp
+@@ -6446,7 +6446,7 @@ void QWidget::setFocusProxy(QWidget * w)
+
+ if (changingAppFocusWidget) {
+ QWidget *newDeepestFocusProxy = d_func()->deepestFocusProxy();
+- QApplicationPrivate::focus_widget = newDeepestFocusProxy ? newDeepestFocusProxy : this;
++ QApplicationPrivate::setFocusWidget(newDeepestFocusProxy ? newDeepestFocusProxy : this, Qt::NoFocusReason);
+ }
+ }
+
+--
+2.16.3
diff --git a/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild b/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild
index 85ceaa9c..677d210f 100644
--- a/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild
+++ b/dev-qt/qtwidgets/qtwidgets-5.13.1.ebuild
@@ -42,6 +42,8 @@ QT5_GENTOO_PRIVATE_CONFIG=(
:widgets
)
+PATCHES=( "${FILESDIR}/${P}-adjust-focus-widget-properly.patch" ) # QTBUG-77364
+
src_configure() {
local myconf=(
-opengl $(usex gles2 es2 desktop)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] proj/qt:master commit in: dev-qt/qtwidgets/, dev-qt/qtwidgets/files/
@ 2020-04-06 22:26 Andreas Sturmlechner
0 siblings, 0 replies; 4+ messages in thread
From: Andreas Sturmlechner @ 2020-04-06 22:26 UTC (permalink / raw
To: gentoo-commits
commit: 8adb90fd21e13ab8ae32b4f658886af88ea3f26a
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 6 22:15:55 2020 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 6 22:24:50 2020 +0000
URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=8adb90fd
dev-qt/qtwidgets: Fix double inclusion of CMake plugin targets
See also: https://bugreports.qt.io/browse/QTBUG-83282
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
....0_beta3-cmake-targets-double-inclusion-0.patch | 35 ++++++++++++++++++++++
....0_beta3-cmake-targets-double-inclusion-1.patch | 25 ++++++++++++++++
dev-qt/qtwidgets/qtwidgets-5.15.0_beta3.ebuild | 2 ++
3 files changed, 62 insertions(+)
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.15.0_beta3-cmake-targets-double-inclusion-0.patch b/dev-qt/qtwidgets/files/qtwidgets-5.15.0_beta3-cmake-targets-double-inclusion-0.patch
new file mode 100644
index 00000000..a796bdfd
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.15.0_beta3-cmake-targets-double-inclusion-0.patch
@@ -0,0 +1,35 @@
+From 7e7c6498841cb4e5a5b4454424a374b70bb111d9 Mon Sep 17 00:00:00 2001
+From: Kai Koehne <kai.koehne@qt.io>
+Date: Fri, 3 Apr 2020 10:39:14 +0200
+Subject: [PATCH] CMake: Fix double inclusion of CMake plugin targets
+
+After 99ace38d22c640e37bb1a41095ee3b126169816a, all plugin files are
+included automatically, not only the ones ending in Plugin.cmake.
+
+Thus the extra inclusion done by the QmlConfigExtras file should only
+be done if strict mode is set.
+
+Amends 99ace38d22c640e37bb1a41095ee3b126169816a
+Amends 2f2dd3b0c28db210ea1f00d569f6c1626894c5f4
+
+Task-number: QTBUG-83282
+Change-Id: I416cbad6c4788d605a9a74f21062543c9c98e968
+Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
+---
+ src/widgets/Qt5WidgetsConfigExtras.cmake.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+index 236d1d4159c..f05dae23ea7 100644
+--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -14,7 +14,8 @@ if (NOT TARGET Qt5::uic)
+ )
+ endif()
+
+-include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5Widgets_AccessibleFactory.cmake\" OPTIONAL)
++if (QT5_STRICT_PLUGIN_GLOB OR Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB)
++ include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5Widgets_AccessibleFactory.cmake\" OPTIONAL)
+
+ set(Qt5Widgets_UIC_EXECUTABLE Qt5::uic)
+
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.15.0_beta3-cmake-targets-double-inclusion-1.patch b/dev-qt/qtwidgets/files/qtwidgets-5.15.0_beta3-cmake-targets-double-inclusion-1.patch
new file mode 100644
index 00000000..56783fc6
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.15.0_beta3-cmake-targets-double-inclusion-1.patch
@@ -0,0 +1,25 @@
+From 3f9862db95ffbe1f87bc17b147b5c68954b4044d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jean-Micha=C3=ABl=20Celerier?=
+ <jeanmichael.celerier@gmail.com>
+Date: Sun, 5 Apr 2020 12:06:58 +0200
+Subject: [PATCH] Add missing endif() in a CMake file
+
+Change-Id: I545a91dafd26d0fc88c3b205aec9805629b9371e
+Reviewed-by: Kai Koehne <kai.koehne@qt.io>
+---
+ src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+index f05dae23ea7..83d8004a08f 100644
+--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -16,7 +16,7 @@ endif()
+
+ if (QT5_STRICT_PLUGIN_GLOB OR Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB)
+ include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5Widgets_AccessibleFactory.cmake\" OPTIONAL)
+-
++endif()
+ set(Qt5Widgets_UIC_EXECUTABLE Qt5::uic)
+
+ # Create versionless tool targets.
diff --git a/dev-qt/qtwidgets/qtwidgets-5.15.0_beta3.ebuild b/dev-qt/qtwidgets/qtwidgets-5.15.0_beta3.ebuild
index 40218072..417cf210 100644
--- a/dev-qt/qtwidgets/qtwidgets-5.15.0_beta3.ebuild
+++ b/dev-qt/qtwidgets/qtwidgets-5.15.0_beta3.ebuild
@@ -43,6 +43,8 @@ QT5_GENTOO_PRIVATE_CONFIG=(
:widgets
)
+PATCHES=( "${FILESDIR}"/${P}-cmake-targets-double-inclusion-{0,1}.patch ) # QTBUG-83282
+
src_configure() {
local myconf=(
-opengl $(usex gles2-only es2 desktop)
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-04-06 22:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-28 1:50 [gentoo-commits] proj/qt:master commit in: dev-qt/qtwidgets/, dev-qt/qtwidgets/files/ Davide Pesavento
-- strict thread matches above, loose matches on Subject: below --
2020-04-06 22:26 Andreas Sturmlechner
2019-09-29 7:04 Andreas Sturmlechner
2014-05-24 17:43 Davide Pesavento
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox