public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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

---
 ...QMenu-is-polished-before-creating-the-nat.patch | 37 ++++++++++++++++++++++
 dev-qt/qtwidgets/qtwidgets-5.3.0.ebuild            |  5 +++
 2 files changed, 42 insertions(+)

diff --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 --
2020-04-06 22:26 [gentoo-commits] proj/qt:master commit in: dev-qt/qtwidgets/, dev-qt/qtwidgets/files/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2019-09-29  7:04 Andreas Sturmlechner
2014-06-28  1:50 Davide Pesavento
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