diff options
author | alonso <alonso@FreeBSD.org> | 2015-02-18 03:36:29 +0800 |
---|---|---|
committer | alonso <alonso@FreeBSD.org> | 2015-02-18 03:36:29 +0800 |
commit | f4d13d0cfa15b152c691ffecf6ce8b5182d2d304 (patch) | |
tree | 2f1a5dbe34a5f2dba08f51f3228209c43f82f3aa /x11-toolkits | |
parent | d4c9221350f940a15648cbc7399cb2db9a64682f (diff) | |
download | freebsd-ports-gnome-f4d13d0cfa15b152c691ffecf6ce8b5182d2d304.tar.gz freebsd-ports-gnome-f4d13d0cfa15b152c691ffecf6ce8b5182d2d304.tar.zst freebsd-ports-gnome-f4d13d0cfa15b152c691ffecf6ce8b5182d2d304.zip |
Fix QSystemTray
Add a patch found by PCBSD's Kris Moore <kris@pcbsd.org> that fixes
QSystemTrayIcons on Desktops other than KDE.
Provided by Kris via mailing list on 2015-01-29.
Approved by: rakuco (mentor)
MFH: 2015Q1
Diffstat (limited to 'x11-toolkits')
-rw-r--r-- | x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbwindow.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbwindow.cpp b/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbwindow.cpp new file mode 100644 index 000000000000..6b9e50bc9afe --- /dev/null +++ b/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbwindow.cpp @@ -0,0 +1,23 @@ +--- src/plugins/platforms/xcb/qxcbwindow.cpp.orig 2015-01-29 15:05:03.094563565 -0500 ++++ src/plugins/platforms/xcb/qxcbwindow.cpp 2015-01-29 15:08:10.219554046 -0500 +@@ -701,6 +701,9 @@ + if (connection()->time() != XCB_TIME_CURRENT_TIME) + updateNetWmUserTime(connection()->time()); + ++ if (window()->objectName() == QLatin1String("QSystemTrayIconSysWindow")) ++ return; // defer showing until XEMBED_EMBEDDED_NOTIFY ++ + Q_XCB_CALL(xcb_map_window(xcb_connection(), m_window)); + + if (QGuiApplication::modalWindow() == window()) +@@ -2130,7 +2133,10 @@ + switch (event->data.data32[1]) { + case XEMBED_WINDOW_ACTIVATE: + case XEMBED_WINDOW_DEACTIVATE: ++ break; + case XEMBED_EMBEDDED_NOTIFY: ++ Q_XCB_CALL(xcb_map_window(xcb_connection(), m_window)); ++ m_screen->windowShown(this); + break; + case XEMBED_FOCUS_IN: + Qt::FocusReason reason; |