[SCM] qtbase packaging branch, experimental, updated. debian/5.7.1+dfsg-3

Dmitry Shachnev mitya57 at moszumanska.debian.org
Tue Jan 24 10:49:27 UTC 2017


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

The following commit has been merged in the experimental branch:
commit d63c58378301b2318140d6644e270e022240cfbd
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date:   Fri Jan 6 21:28:03 2017 +0300

    Backport upstream fix to make QGtk3Dialog not crash on Wayland.
---
 debian/changelog                       |  1 +
 debian/patches/gtkdialogs_wayland.diff | 26 ++++++++++++++++++++++++++
 debian/patches/series                  |  1 +
 3 files changed, 28 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 3bec438..7d4749d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ qtbase-opensource-src (5.7.1+dfsg-3) UNRELEASED; urgency=medium
   [ Dmitry Shachnev ]
   * Backport upstream change to fix accessibility-related crashes
     (fix_accessibility_crash.diff; closes: #834750).
+  * Backport upstream fix to make QGtk3Dialog not crash on Wayland.
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Wed, 04 Jan 2017 22:39:02 +0300
 
diff --git a/debian/patches/gtkdialogs_wayland.diff b/debian/patches/gtkdialogs_wayland.diff
new file mode 100644
index 0000000..06d65ff
--- /dev/null
+++ b/debian/patches/gtkdialogs_wayland.diff
@@ -0,0 +1,26 @@
+Description: QGtk3Dialog: don't crash on Wayland
+ Check if it's an X11 window before calling XSetTransientForHint().
+ No transient parent will be set for GTK+ dialogs on Wayland. That
+ has to be implemented separately.
+Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=84ea00d47049d882
+Last-Update: 2017-01-06
+
+--- a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
++++ b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
+@@ -129,10 +129,12 @@
+ 
+     GdkWindow *gdkWindow = gtk_widget_get_window(gtkWidget);
+     if (parent) {
+-        GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow);
+-        XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay),
+-                             gdk_x11_window_get_xid(gdkWindow),
+-                             parent->winId());
++        if (GDK_IS_X11_WINDOW(gdkWindow)) {
++            GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow);
++            XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay),
++                                 gdk_x11_window_get_xid(gdkWindow),
++                                 parent->winId());
++        }
+     }
+ 
+     if (modality != Qt::NonModal) {
diff --git a/debian/patches/series b/debian/patches/series
index 45b0687..29be622 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,6 +4,7 @@ qsettings_XDG_CONFIG_DIRS.diff
 fix_build_on_x32.diff
 gcc_6.3.diff
 fix_accessibility_crash.diff
+gtkdialogs_wayland.diff
 
 # Debian specific.
 no_dbus_dependency.diff

-- 
qtbase packaging



More information about the pkg-kde-commits mailing list