Hello community, here is the log from the commit of package libqt5-qtwayland for openSUSE:Factory checked in at 2017-09-17 22:37:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt5-qtwayland (Old) and /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtwayland" Sun Sep 17 22:37:03 2017 rev:14 rq:526018 version:5.9.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libqt5-qtwayland/libqt5-qtwayland.changes 2017-07-08 12:24:45.316075302 +0200 +++ /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new/libqt5-qtwayland.changes 2017-09-17 22:37:04.375248770 +0200 @@ -1,0 +2,6 @@ +Thu Sep 14 07:16:03 UTC 2017 - fab...@ritter-vogt.de + +- Add patch to workaround crash due to nullptr deref (kde#381630): + * workaround-null-object.patch + +------------------------------------------------------------------- New: ---- workaround-null-object.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt5-qtwayland.spec ++++++ --- /var/tmp/diff_new_pack.Uz4NDR/_old 2017-09-17 22:37:05.047154303 +0200 +++ /var/tmp/diff_new_pack.Uz4NDR/_new 2017-09-17 22:37:05.047154303 +0200 @@ -31,6 +31,8 @@ Url: https://www.qt.io Source: https://download.qt.io/official_releases/qt/5.9/%{real_version}/submodules/%{tar_version}.tar.xz Source1: baselibs.conf +# PATCH-FIX-OPENSUSE +Patch1: workaround-null-object.patch BuildRequires: fdupes BuildRequires: libqt5-qtbase-private-headers-devel >= %{version} BuildRequires: libqt5-qtdeclarative-private-headers-devel >= %{version} @@ -101,6 +103,7 @@ %prep %setup -q -n qtwayland-opensource-src-%{real_version} +%patch1 -p1 %post -n libQt5WaylandCompositor5 -p /sbin/ldconfig ++++++ workaround-null-object.patch ++++++ From: Fabian Vogt <fab...@ritter-vogt.de> Subject: Work around crash in QtWaylandClient::QWaylandEglWindow::updateSurface References: kde#381630 object() is nullptr when it crashes, so do not try to reference it. This is only a workaround as object() should never be nullptr AFAICT. So far I haven't discovered any bad side effects. Index: qtwayland-opensource-src-5.9.1/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp =================================================================== --- qtwayland-opensource-src-5.9.1.orig/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +++ qtwayland-opensource-src-5.9.1/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp @@ -112,7 +112,7 @@ void QWaylandEglWindow::updateSurface(bo // mesa's egl returns NULL if we try to create a, invalid wl_egl_window, however not all EGL // implementations may do that, so check the size ourself. Besides, we must deal with resizing // a valid window to 0x0, which would make it invalid. Hence, destroy it. - if (sizeWithMargins.isEmpty()) { + if (sizeWithMargins.isEmpty() || !object()) { if (m_eglSurface) { eglDestroySurface(m_clientBufferIntegration->eglDisplay(), m_eglSurface); m_eglSurface = 0;