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?= <mgraess...@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.kle...@digia.com>
+Reviewed-by: Gabriel de Dietrich <gabriel.dedietr...@digia.com>
+Reviewed-by: David Edmundson <davidedmund...@kde.org>
+Reviewed-by: Frederik Gladhorn <frederik.gladh...@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"
+)

Reply via email to