summaryrefslogtreecommitdiff
path: root/dev-qt/qtwayland/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
commit7bc9c63c9da678a7e6fceb095d56c634afd22c56 (patch)
tree4a67d50a439e9af63947e5f8b6ba3719af98b6c9 /dev-qt/qtwayland/files
parentb284a3168fa91a038925d2ecf5e4791011ea5e7d (diff)
gentoo resync : 15.12.2019
Diffstat (limited to 'dev-qt/qtwayland/files')
-rw-r--r--dev-qt/qtwayland/files/qtwayland-5.13.2-fix-crash.patch55
-rw-r--r--dev-qt/qtwayland/files/qtwayland-5.13.2-fix-linuxdmabuf-build.patch29
-rw-r--r--dev-qt/qtwayland/files/qtwayland-5.13.2-fix-touch-ignored.patch36
3 files changed, 120 insertions, 0 deletions
diff --git a/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-crash.patch b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-crash.patch
new file mode 100644
index 000000000000..b4e78684bb61
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-crash.patch
@@ -0,0 +1,55 @@
+From 962b9be7992cef672cb6307af5653c97382c334f Mon Sep 17 00:00:00 2001
+From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
+Date: Fri, 1 Nov 2019 11:24:26 +0100
+Subject: [PATCH] Client: Fix crash when showing a child window with a hidden
+ parent
+
+[ChangeLog][QPA plugin] Fixed a crash when showing a window with a hidden
+parent.
+
+Now we just avoid creating the subsurface, so nothing is shown. Seems to be
+the same behavior as on xcb.
+
+Fixes: QTBUG-79674
+Change-Id: Ia46fcd9a0da5aad4704816a41515cb1e128ac65f
+Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
+---
+ src/client/qwaylanddisplay.cpp | 4 ++++
+ src/client/qwaylandwindow.cpp | 7 ++++---
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
+index 78524f6fc..27e38ccf7 100644
+--- a/src/client/qwaylanddisplay.cpp
++++ b/src/client/qwaylanddisplay.cpp
+@@ -109,6 +109,10 @@ struct ::wl_region *QWaylandDisplay::createRegion(const QRegion &qregion)
+ return nullptr;
+ }
+
++ // Make sure we don't pass NULL surfaces to libwayland (crashes)
++ Q_ASSERT(parent->object());
++ Q_ASSERT(window->object());
++
+ return mSubCompositor->get_subsurface(window->object(), parent->object());
+ }
+
+diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
+index 8d34afd1f..7098568b4 100644
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -124,9 +124,10 @@ void QWaylandWindow::initWindow()
+ if (shouldCreateSubSurface()) {
+ Q_ASSERT(!mSubSurfaceWindow);
+
+- QWaylandWindow *p = static_cast<QWaylandWindow *>(QPlatformWindow::parent());
+- if (::wl_subsurface *ss = mDisplay->createSubSurface(this, p)) {
+- mSubSurfaceWindow = new QWaylandSubSurface(this, p, ss);
++ auto *parent = static_cast<QWaylandWindow *>(QPlatformWindow::parent());
++ if (parent->object()) {
++ if (::wl_subsurface *subsurface = mDisplay->createSubSurface(this, parent))
++ mSubSurfaceWindow = new QWaylandSubSurface(this, parent, subsurface);
+ }
+ } else if (shouldCreateShellSurface()) {
+ Q_ASSERT(!mShellSurface);
+--
+2.16.3
diff --git a/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-linuxdmabuf-build.patch b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-linuxdmabuf-build.patch
new file mode 100644
index 000000000000..f9b6b6571182
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-linuxdmabuf-build.patch
@@ -0,0 +1,29 @@
+From 23ea5504200ff5f7e40bd264280a78db09c1bc5b Mon Sep 17 00:00:00 2001
+From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
+Date: Fri, 8 Nov 2019 13:58:04 +0100
+Subject: [PATCH] WIP: Fix compilation of linuxdmabuf compositor plugin
+
+WIP, because I'm not sure if this is the way to go, but it fixes
+compilation on my machine.
+
+Fixes: QTBUG-79709
+Change-Id: I3190ef56e0e162636efea440dff7e760cf11fcd0
+---
+ .../compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
+index 2abc2ce6b..d1f4a3039 100644
+--- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
++++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
+@@ -53,6 +53,7 @@
+
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+
+ // compatibility with libdrm <= 2.4.74
+ #ifndef DRM_FORMAT_RESERVED
+--
+2.16.3
+
diff --git a/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-touch-ignored.patch b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-touch-ignored.patch
new file mode 100644
index 000000000000..4a33d97bf17e
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-touch-ignored.patch
@@ -0,0 +1,36 @@
+From 57c28f461a066c03ef8ae3f823c040fa91876fb8 Mon Sep 17 00:00:00 2001
+From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
+Date: Mon, 4 Nov 2019 14:21:18 +0100
+Subject: [PATCH] Fix touch being ignored when down and motion are in the same
+ frame
+
+The Wayland protocol gives no guarantees about which events are part of a
+frame, so handle the case where we receive wl_touch.down and wl_touch.motion
+within the same frame.
+
+Fixes: QTBUG-79744
+Change-Id: I5dd9302576d81da38e003c8e7e74da6a98def603
+Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
+---
+ src/client/qwaylandinputdevice.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
+index 8f3df8e4d..193ce714b 100644
+--- a/src/client/qwaylandinputdevice.cpp
++++ b/src/client/qwaylandinputdevice.cpp
+@@ -1062,7 +1062,10 @@ void QWaylandInputDevice::handleTouchPoint(int id, Qt::TouchPointState state, co
+ tp.area.moveCenter(globalPosition);
+ }
+
+- tp.state = state;
++ // If the touch point was pressed earlier this frame, we don't want to overwrite its state.
++ if (tp.state != Qt::TouchPointPressed)
++ tp.state = state;
++
+ tp.pressure = tp.state == Qt::TouchPointReleased ? 0 : 1;
+ }
+
+--
+2.16.3
+