Skip to content

Commit

Permalink
dev-qt/qtwayland: 5.15.10 version bump
Browse files Browse the repository at this point in the history
Signed-off-by: Andreas Sturmlechner <[email protected]>
  • Loading branch information
a17r committed Jun 13, 2023
1 parent 3b27e68 commit 163fd92
Show file tree
Hide file tree
Showing 3 changed files with 124 additions and 0 deletions.
2 changes: 2 additions & 0 deletions dev-qt/qtwayland/Manifest
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
From 90995b07d2d4dbd12b7e527a881bf9d6158e277b Mon Sep 17 00:00:00 2001
From: Ilya Fedin <[email protected]>
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 <[email protected]>
(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

54 changes: 54 additions & 0 deletions dev-qt/qtwayland/qtwayland-5.15.10.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 163fd92

Please sign in to comment.