summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2019-04-10 09:59:50 +0200
committerMichał Górny <mgorny@gentoo.org>2019-04-10 10:19:08 +0200
commitdc6a5562a06951cb3fbfab4595463c73af3e2d0d (patch)
tree8e2f770c6e5f00e803ec3ea2c29db180e1bdbb66 /xfce-base
parentwww-plugins/adobe-flash: Old (diff)
downloadgentoo-dc6a5562a06951cb3fbfab4595463c73af3e2d0d.tar.gz
gentoo-dc6a5562a06951cb3fbfab4595463c73af3e2d0d.tar.bz2
gentoo-dc6a5562a06951cb3fbfab4595463c73af3e2d0d.zip
xfce-base/xfwm4: Backport upstream fix for event mask length
Closes: https://bugs.gentoo.org/664710 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'xfce-base')
-rw-r--r--xfce-base/xfwm4/files/xfwm4-4.13.1-fix-mask-len.patch31
-rw-r--r--xfce-base/xfwm4/xfwm4-4.13.1-r2.ebuild79
2 files changed, 110 insertions, 0 deletions
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
index 000000000000..640e297ce92e
--- /dev/null
+++ b/xfce-base/xfwm4/files/xfwm4-4.13.1-fix-mask-len.patch
@@ -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
index 000000000000..b929ce60b99d
--- /dev/null
+++ b/xfce-base/xfwm4/xfwm4-4.13.1-r2.ebuild
@@ -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
+}