commit: a7fd39ce68ebd8e986e84c9d5038eb440ac2731c Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Tue May 17 18:55:23 2022 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Tue May 17 19:01:50 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7fd39ce
kde-plasma/kwayland-server: Fix supported action initialization ...in data offer interface Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> ...d-server-5.24.5-fix-supported-action-init.patch | 44 ++++++++++++++++++++++ .../kwayland-server-5.24.5-r1.ebuild | 43 +++++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/kde-plasma/kwayland-server/files/kwayland-server-5.24.5-fix-supported-action-init.patch b/kde-plasma/kwayland-server/files/kwayland-server-5.24.5-fix-supported-action-init.patch new file mode 100644 index 000000000000..6e03d215ed43 --- /dev/null +++ b/kde-plasma/kwayland-server/files/kwayland-server-5.24.5-fix-supported-action-init.patch @@ -0,0 +1,44 @@ +From f669d7002b3966f53f8e17275123b24ec41e8e21 Mon Sep 17 00:00:00 2001 +From: Vlad Zahorodnii <[email protected]> +Date: Mon, 16 May 2022 16:28:53 +0300 +Subject: [PATCH] wayland: Fix supported action initialization in data offer + interface + +Currently we guess the supported and preferred dnd actions in data offer +for version >= 3. This can create problems because kwin may not send the +right action events when the supported dnd actions actually change. +--- + src/server/dataoffer_interface.cpp | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/server/dataoffer_interface.cpp b/src/server/dataoffer_interface.cpp +index ed682172..d78abeca 100644 +--- a/src/server/dataoffer_interface.cpp ++++ b/src/server/dataoffer_interface.cpp +@@ -25,9 +25,8 @@ public: + DataOfferInterface *q; + QPointer<AbstractDataSource> source; + +- // defaults are set to sensible values for < version 3 interfaces +- DataDeviceManagerInterface::DnDActions supportedDnDActions = DataDeviceManagerInterface::DnDAction::Copy | DataDeviceManagerInterface::DnDAction::Move; +- DataDeviceManagerInterface::DnDAction preferredDnDAction = DataDeviceManagerInterface::DnDAction::Copy; ++ DataDeviceManagerInterface::DnDActions supportedDnDActions = DataDeviceManagerInterface::DnDAction::None; ++ DataDeviceManagerInterface::DnDAction preferredDnDAction = DataDeviceManagerInterface::DnDAction::None; + + protected: + void data_offer_destroy_resource(Resource *resource) override; +@@ -43,6 +42,11 @@ DataOfferInterfacePrivate::DataOfferInterfacePrivate(AbstractDataSource *_source + , q(_q) + , source(_source) + { ++ // defaults are set to sensible values for < version 3 interfaces ++ if (wl_resource_get_version(resource) < WL_DATA_OFFER_ACTION_SINCE_VERSION) { ++ supportedDnDActions = DataDeviceManagerInterface::DnDAction::Copy | DataDeviceManagerInterface::DnDAction::Move; ++ preferredDnDAction = DataDeviceManagerInterface::DnDAction::Copy; ++ } + } + + void DataOfferInterfacePrivate::data_offer_accept(Resource *resource, uint32_t serial, const QString &mime_type) +-- +GitLab + diff --git a/kde-plasma/kwayland-server/kwayland-server-5.24.5-r1.ebuild b/kde-plasma/kwayland-server/kwayland-server-5.24.5-r1.ebuild new file mode 100644 index 000000000000..bba4549022b8 --- /dev/null +++ b/kde-plasma/kwayland-server/kwayland-server-5.24.5-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_QTHELP="true" +ECM_TEST="true" +KFMIN=5.90.0 +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.2 +inherit ecm kde.org + +DESCRIPTION="Wayland Server Components built on KDE Frameworks" +HOMEPAGE="https://invent.kde.org/plasma/kwayland-server" + +LICENSE="LGPL-2.1" +SLOT="5" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="" + +# All failing, I guess we need a virtual wayland server +RESTRICT="test" + +RDEPEND=" + >=dev-libs/wayland-1.19.0 + >=dev-qt/qtconcurrent-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5[egl] + >=dev-qt/qtwayland-${QTMIN}:5 + >=kde-frameworks/kwayland-${KFMIN}:5 + media-libs/libglvnd +" +DEPEND="${RDEPEND} + >=dev-libs/plasma-wayland-protocols-1.6.0 + >=dev-libs/wayland-protocols-1.24 +" +BDEPEND=" + >=dev-qt/qtwaylandscanner-${QTMIN}:5 + dev-util/wayland-scanner +" + +PATCHES=( + "${FILESDIR}"/${P}-fix-supported-action-init.patch +)
