[SCM] qtbase packaging branch, jessie, updated. debian/5.3.2+dfsg-4+deb8u1-3-gb0a4eac

Dmitry Shachnev mitya57 at moszumanska.debian.org
Sun Dec 25 21:09:41 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtbase.git;a=commitdiff;h=b0a4eac

The following commit has been merged in the jessie branch:
commit b0a4eacb8a1e17b5c611bf5f40e5a95414987046
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date:   Mon Dec 26 00:08:22 2016 +0300

    Backport upstream change to fix X11 tray icons on some desktops.
    
    Closes: #775398, #847665.
---
 debian/changelog                                   |  3 ++
 debian/patches/series                              |  1 +
 ...ing_tray_icon_window_until_it_is_embedded.patch | 37 ++++++++++++++++++++++
 3 files changed, 41 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 1f2d997..d41da93 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,9 @@ qtbase-opensource-src (5.3.2+dfsg-4+deb8u2) UNRELEASED; urgency=medium
   * Backport upstream change (networkconfig_prevent_bad_deref.patch) to
     prevent bad-ptrs deref in QNetworkConfigurationManagerPrivate.
     Closes: #805265.
+  * Backport upstream change to fix X11 tray icons on some desktops
+    (xcb_delay_showing_tray_icon_window_until_it_is_embedded.patch).
+    Closes: #775398, #847665.
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Mon, 16 Nov 2015 21:22:34 +0300
 
diff --git a/debian/patches/series b/debian/patches/series
index f56e691..3580b62 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,6 +5,7 @@ gnukfreebsd.diff
 fix_bug_in_internal_comparison_operator.patch
 fix_imagehandlers_cves.diff
 networkconfig_prevent_bad_deref.patch
+xcb_delay_showing_tray_icon_window_until_it_is_embedded.patch
 
 # Patches that need to be upstreamed
 fix_sparc_atomics.patch
diff --git a/debian/patches/xcb_delay_showing_tray_icon_window_until_it_is_embedded.patch b/debian/patches/xcb_delay_showing_tray_icon_window_until_it_is_embedded.patch
new file mode 100644
index 0000000..4939c0c
--- /dev/null
+++ b/debian/patches/xcb_delay_showing_tray_icon_window_until_it_is_embedded.patch
@@ -0,0 +1,37 @@
+Description: xcb: delay showing tray icon window until it is embedded
+ Otherwise there is a race condition: when the tray implementation
+ gets around to embedding the window, if it was already shown,
+ it will be unmapped, embedded, and then remapped. Some tray
+ implementations will resize the tray icon to 1 pixel wide in
+ that case. We also never want to show a window that was intended
+ for the tray in any other location, so it's better that it remain
+ invisible until we are sure it is embedded.
+Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=612953a626ec21b8
+Bug: https://bugs.debian.org/775398
+Bug: https://bugs.debian.org/847665
+Last-Update: 2016-12-26
+
+--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
++++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
+@@ -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;
+

-- 
qtbase packaging



More information about the pkg-kde-commits mailing list