xfce-base/xfwm4: Backport upstream fix for event mask length
authorMichał Górny <mgorny@gentoo.org>
Wed, 10 Apr 2019 07:59:50 +0000 (09:59 +0200)
committerMichał Górny <mgorny@gentoo.org>
Wed, 10 Apr 2019 08:19:08 +0000 (10:19 +0200)
Closes: https://bugs.gentoo.org/664710
Signed-off-by: Michał Górny <mgorny@gentoo.org>
xfce-base/xfwm4/files/xfwm4-4.13.1-fix-mask-len.patch [new file with mode: 0644]
xfce-base/xfwm4/xfwm4-4.13.1-r2.ebuild [new file with mode: 0644]

diff --git a/xfce-base/xfwm4/files/xfwm4-4.13.1-fix-mask-len.patch b/xfce-base/xfwm4/files/xfwm4-4.13.1-fix-mask-len.patch
new file mode 100644 (file)
index 0000000..640e297
--- /dev/null
@@ -0,0 +1,31 @@
+From 2080fa3c81b3810228ae5a8abbb494c78dd1d566 Mon Sep 17 00:00:00 2001
+From: Timo <timo.teras@iki.fi>
+Date: Thu, 13 Sep 2018 20:25:33 +0200
+Subject: device: Fix wrong mask len
+
+Bug: 14695
+
+The `mask_len` field is setup incorrectly in
+`xfwm_device_fill_xi2_event_mask()`.
+
+The size is the pointer length, not the bitmask data area length.
+---
+ src/device.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/device.c b/src/device.c
+index b1e33ae2..01c0c81d 100644
+--- a/src/device.c
++++ b/src/device.c
+@@ -301,7 +301,7 @@ xfwm_device_fill_xi2_event_mask (XIEventMask *xievent_mask, gulong core_mask)
+     guint i;
+     xievent_mask->deviceid = XIAllMasterDevices;
+-    xievent_mask->mask_len = sizeof (mask);
++    xievent_mask->mask_len = len;
+     xievent_mask->mask = mask;
+     for (i = 0; i < G_N_ELEMENTS (core_to_xi2); i++)
+-- 
+cgit v1.2.1
+
diff --git a/xfce-base/xfwm4/xfwm4-4.13.1-r2.ebuild b/xfce-base/xfwm4/xfwm4-4.13.1-r2.ebuild
new file mode 100644 (file)
index 0000000..b929ce6
--- /dev/null
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils
+
+DESCRIPTION="Window manager for the Xfce desktop environment"
+HOMEPAGE="https://www.xfce.org/projects/"
+SRC_URI="https://archive.xfce.org/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2
+       https://dev.gentoo.org/~mgorny/dist/${P}-patchset.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="opengl startup-notification +xcomposite +xpresent"
+
+RDEPEND="dev-libs/dbus-glib:=
+       >=dev-libs/glib-2.20:=
+       >=x11-libs/gtk+-3.20:3=
+       x11-libs/libX11:=
+       x11-libs/libXext:=
+       x11-libs/libXinerama:=
+       x11-libs/libXrandr:=
+       x11-libs/libXrender:=
+       x11-libs/pango:=
+       >=x11-libs/libwnck-3.14:3=
+       >=xfce-base/libxfce4util-4.10:=
+       >=xfce-base/libxfce4ui-4.12:=
+       >=xfce-base/xfconf-4.13:=
+       opengl? ( media-libs/libepoxy:=[X(+)] )
+       startup-notification? ( x11-libs/startup-notification:= )
+       xpresent? ( x11-libs/libXpresent )
+       xcomposite? (
+               x11-libs/libXcomposite:=
+               x11-libs/libXdamage:=
+               x11-libs/libXfixes:=
+               )"
+# libICE/libSM: not really used anywhere but checked by configure
+#   https://bugzilla.xfce.org/show_bug.cgi?id=11914
+DEPEND="${RDEPEND}
+       dev-util/intltool
+       sys-devel/gettext
+       x11-libs/libICE
+       x11-libs/libSM
+       xfce-base/exo
+       virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog COMPOSITOR NEWS README TODO )
+
+PATCHES=(
+       # set of patches to fix refresh issues
+       # https://bugs.gentoo.org/614564
+       "${WORKDIR}/${P}-patchset"
+
+       "${FILESDIR}"/xfwm4-4.13.1-fix-mask-len.patch
+)
+
+src_configure() {
+       local myconf=(
+               $(use_enable opengl epoxy)
+               $(use_enable startup-notification)
+               --enable-xsync
+               --enable-render
+               --enable-randr
+               $(use_enable xpresent)
+               $(use_enable xcomposite compositor)
+       )
+
+       econf "${myconf[@]}"
+}
+
+pkg_postinst() {
+       gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+}