summaryrefslogtreecommitdiff
path: root/dev-qt/qtwayland
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-14 15:13:45 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-14 15:13:45 +0100
commitb9e8f3cc44aed3b6da71c7510c6287bf7bbbc66b (patch)
tree4b47f3026f10252cff69e7a4346215a4da4f0f1c /dev-qt/qtwayland
parent3d952d0bfe7b386699eb32d1431deb0c538f044d (diff)
gentoo auto-resync : 14:06:2023 - 15:13:45
Diffstat (limited to 'dev-qt/qtwayland')
-rw-r--r--dev-qt/qtwayland/Manifest4
-rw-r--r--dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch68
-rw-r--r--dev-qt/qtwayland/qtwayland-5.15.10.ebuild54
3 files changed, 126 insertions, 0 deletions
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index 27e6729f6acd..5f8daf637c46 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,7 +1,11 @@
+AUX qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch 2364 BLAKE2B 5c623371a016a4e2fa30fe9f9579e3a6ee754330c1528d43b154de08ef0a49888b49347eac449b73e916c670dc1b54bf07693697f123bacc6441cf21f59fa4c9 SHA512 57caa645cffffe559c9ea61320e88929b9697817edae34b91331f68fb69ce51d98e05f5787fc5f29dd568213b0c374dcea1af8a1911be57265679590be21bdbc
AUX qtwayland-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch 1451 BLAKE2B 63b053f96f4added309a96d33caea1f361087511cb82249864b4a9971794739903e4df1c240c0a42f71295bb0b4f0f48338e6fcadfe9549372d2b581cb2464b6 SHA512 9be539b99cba04e3009a4a61eb5890708f8cafb09161e2d11868bb3a687591d6d4758a13c469ca22b89380cf1a1950d844c25212ead7b64f45ac275db464a051
+DIST qtwayland-5.15.10-gentoo-kde-1.tar.xz 42480 BLAKE2B 3902ecb713b8f35922b0d19bef0b2ec340ca52feb4b61de629dfa6b344d7f550de3e509e265f4476eb907f78b55d5c50c21d9dfeeb7e2e8f680a43fffc911ed4 SHA512 6a131ca2db008a2d224ee6733f47d05a455a8487d38b45cf63882e98e2c29d8163ac5d2f2c2e043f03103bada6e212b5d33cbf11677f8ca2b86fdbf02fc2b239
DIST qtwayland-5.15.9-gentoo-kde-1.tar.xz 44312 BLAKE2B be255e0d292ce6555473d4ad92b656ea0f3bd7c0d4041f92e2ccfe1e456c984ff3d9307e3ff1ebe8da5d40b6a6c938e116856ff1c392171f3157cc734461e8a7 SHA512 bf099acf0cb21c3402f38dcec8a3b2f9411e8d307e303bb2eb772e5dc5872cbdb456a7d37628d72bcf4f258f3e8f9baa53081bf5c061d6338f7431f016c0e27b
+DIST qtwayland-everywhere-opensource-src-5.15.10.tar.xz 568552 BLAKE2B c5cd4ed5ff78befb5bb49f9eb809562c418b2469aa0fa23728a1de46d57f42788bba3f87a54c8dda2ee0900c76b84213d1111fd86159dc5e6707f7b67ed386de SHA512 214b1fec7dfd815d148a7485f7811e623b06d172e58e4ee3167264a4e4b8f4aeec11474e574f91652a0bd3a48476a6747cad468f1e5035c49a55a96fc1400899
DIST qtwayland-everywhere-opensource-src-5.15.9.tar.xz 567564 BLAKE2B c5a0d39cdd746e2aa6cd011ce04baa7f1f30e21c935877a684f07d5c2a0d3446e80569fa33c3fa0953b1bea86aefd64f80fda5164f3ee5648b74c2e0e8d369b9 SHA512 d108d63ceeb3b1a8905ad7f53a7271fca6a3506679d352b7290cdf8c00e1c180b6c561ee013a674002b89e23f58cfb7b909dfc5a8fdec6cece7e0a782be77978
DIST qtwayland-everywhere-src-6.5.1.tar.xz 1059936 BLAKE2B 5b54804df8106b0585fa44612c3d688b89aaea7bd49f2420e2a44472ced9ed51c2aba1d0baf2e4636a58937e7393e6d4b1ad8c7d937dfbf96e5a90bba5393cca SHA512 9074adfb5ea9cc18896dade6706ef5a863033130f23aa11e0a7b2ae6e4df2fb64b636815e2489debb1032919a8ad20d39813d40b3ba7a87cebd801c9fae0d4f0
+EBUILD qtwayland-5.15.10.ebuild 1263 BLAKE2B ae5977f657e7eb492f0325835863f4f4351382cf4830b83df74779b46a24040bb49bdc92ad9193364e043db3a43d701155bd33ccb7047aebfc49655087b5224f SHA512 4d1ed340102d7bbe99be8047e4c7035ea8557136095e8e0fc37cf669ad82c3c123f65108206e30b5da4685e7a6dc106fa15241688cc64eb06b8983b362a816f5
EBUILD qtwayland-5.15.9.ebuild 1098 BLAKE2B 32cb659241ca8c1a1ff731cddc0dc654b4fd6b1c42aa8038a8a37410da2b23a1893da1b49b1f7a21ab85769262bff739ab9df5ed19109f9e5456c2a52a577eb2 SHA512 def9ac79924d3359448ee55bf2bd2187236361b3bda8f4f27018079b6d3771b4a55deba28529e1776359228132571932a1f8eb34a2ea20f9ff27269f08a55724
EBUILD qtwayland-6.5.1.ebuild 438 BLAKE2B b419dc79923c1f81cf59b47d3f95cf43372260430cd16593089229011756c78663d062ce5b23464df27753427257bcea89ed745c0f8f0a4a1b7e7328dad60441 SHA512 a6d1cd0314a2dbcd74e3a4cc3ba2cba7b4145331c0b7617fe387cbeea4d9cb0643ab20d897df6953a21274771d3e64a6e99dce79bf41d33383508fb7b037c32e
MISC metadata.xml 584 BLAKE2B ad42909b120209835e121a29de558d338bae4348eb55e69a94e8ac8b54f26564df0a750839bef9418ae8056a0d24f234615247a610b8287f5b0fbffbc60193f2 SHA512 86fd81d63b19fc6e95bdcb92e9da9b03861248a4e78e9de36aca6996e61644ab8bce7a60ca22ee7ad86fefc9b407a1fd0136240b8fdfa3c40a149444ab1dcbe2
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch b/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch
new file mode 100644
index 000000000000..1e949fc32355
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch
@@ -0,0 +1,68 @@
+From 90995b07d2d4dbd12b7e527a881bf9d6158e277b Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010@ya.ru>
+Date: Sun, 19 Mar 2023 10:24:59 +0400
+Subject: [PATCH] Client: Send release button event on pointer leave
+
+Fixes: QTBUG-97037
+Pick-to: 6.6 6.5 6.2 5.15
+Change-Id: I151239b276ab5aefe166f5615baf43dab428ce0c
+Reviewed-by: David Edmundson <davidedmundson@kde.org>
+(cherry picked from commit 8235fa65fe033a94e7a44322d3502f25940092ec)
+---
+ src/client/qwaylandinputdevice.cpp | 9 +++++++--
+ src/client/qwaylandinputdevice_p.h | 1 +
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
+index bc05583a..e562c7a7 100644
+--- a/src/client/qwaylandinputdevice.cpp
++++ b/src/client/qwaylandinputdevice.cpp
+@@ -688,8 +688,8 @@ public:
+
+ void QWaylandInputDevice::Pointer::pointer_leave(uint32_t time, struct wl_surface *surface)
+ {
++ releaseButtons();
+ invalidateFocus();
+- mButtons = Qt::NoButton;
+
+ mParent->mTime = time;
+
+@@ -804,6 +804,8 @@ void QWaylandInputDevice::Pointer::pointer_button(uint32_t serial, uint32_t time
+ default: return; // invalid button number (as far as Qt is concerned)
+ }
+
++ mLastButton = qt_button;
++
+ if (state)
+ mButtons |= qt_button;
+ else
+@@ -842,10 +844,13 @@ void QWaylandInputDevice::Pointer::invalidateFocus()
+
+ void QWaylandInputDevice::Pointer::releaseButtons()
+ {
++ if (mButtons == Qt::NoButton)
++ return;
++
+ mButtons = Qt::NoButton;
+
+ if (auto *window = focusWindow()) {
+- ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, Qt::NoButton, mParent->modifiers());
++ ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, mLastButton, mParent->modifiers());
+ window->handleMouse(mParent, e);
+ }
+ }
+diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h
+index 5795f138..bafe3db2 100644
+--- a/src/client/qwaylandinputdevice_p.h
++++ b/src/client/qwaylandinputdevice_p.h
+@@ -346,6 +346,7 @@ public:
+ QPointF mSurfacePos;
+ QPointF mGlobalPos;
+ Qt::MouseButtons mButtons = Qt::NoButton;
++ Qt::MouseButton mLastButton = Qt::NoButton;
+ #if QT_CONFIG(cursor)
+ wl_buffer *mCursorBuffer = nullptr;
+ Qt::CursorShape mCursorShape = Qt::BitmapCursor;
+--
+2.41.0
+
diff --git a/dev-qt/qtwayland/qtwayland-5.15.10.ebuild b/dev-qt/qtwayland/qtwayland-5.15.10.ebuild
new file mode 100644
index 000000000000..f1bed530d4bb
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.15.10.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} != *9999* ]]; then
+ QT5_KDEPATCHSET_REV=1
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+SLOT=5/${QT5_PV} # bug 815646
+IUSE="vulkan X"
+
+DEPEND="
+ dev-libs/wayland
+ =dev-qt/qtcore-${QT5_PV}*:5=
+ =dev-qt/qtdeclarative-${QT5_PV}*:5=
+ =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
+ media-libs/libglvnd
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-util/wayland-scanner"
+
+PATCHES=(
+ # QTBUG-97037, pending upstream:
+ # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/71
+ "${FILESDIR}/${PN}-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch"
+ "${FILESDIR}/${P}-send-release-button-event-on-pointer-leave.patch"
+)
+
+src_configure() {
+ local myqmakeargs=(
+ --
+ $(qt_use vulkan feature-wayland-vulkan-server-buffer)
+ $(qt_use X feature-xcomposite-egl)
+ $(qt_use X feature-xcomposite-glx)
+ )
+ qt5-build_src_configure
+}
+
+src_install() {
+ qt5-build_src_install
+ rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
+}