summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2015-06-28 10:33:11 +0000
committerPacho Ramos <pacho@gentoo.org>2015-06-28 10:33:11 +0000
commitc7326ce0f4cbfa0db2b3ba0dd55126283c2e678b (patch)
tree5d6a900127a38a16b0c2150589e654dc6545f82b /x11-wm
parentx86 stable wrt bug #552220 (diff)
downloadhistorical-c7326ce0f4cbfa0db2b3ba0dd55126283c2e678b.tar.gz
historical-c7326ce0f4cbfa0db2b3ba0dd55126283c2e678b.tar.bz2
historical-c7326ce0f4cbfa0db2b3ba0dd55126283c2e678b.zip
surface-actor-x11: Make sure to set a size when unredirected (from 3.16 branch). This fixes clicking on stuff in sloppy / mouse mode focus.
Package-Manager: portage-2.2.20/cvs/Linux x86_64 Manifest-Sign-Key: 0xA188FBD4
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/mutter/ChangeLog9
-rw-r--r--x11-wm/mutter/Manifest10
-rw-r--r--x11-wm/mutter/files/mutter-3.16.2-size-unredirected.patch151
-rw-r--r--x11-wm/mutter/mutter-3.16.2-r1.ebuild97
4 files changed, 262 insertions, 5 deletions
diff --git a/x11-wm/mutter/ChangeLog b/x11-wm/mutter/ChangeLog
index efed82d9a942..637582a7890c 100644
--- a/x11-wm/mutter/ChangeLog
+++ b/x11-wm/mutter/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-wm/mutter
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/mutter/ChangeLog,v 1.59 2015/06/28 10:00:36 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/mutter/ChangeLog,v 1.60 2015/06/28 10:33:10 pacho Exp $
+
+*mutter-3.16.2-r1 (28 Jun 2015)
+
+ 28 Jun 2015; Pacho Ramos <pacho@gentoo.org>
+ +files/mutter-3.16.2-size-unredirected.patch, +mutter-3.16.2-r1.ebuild:
+ surface-actor-x11: Make sure to set a size when unredirected (from 3.16
+ branch). This fixes clicking on stuff in sloppy / mouse mode focus.
28 Jun 2015; Pacho Ramos <pacho@gentoo.org> -mutter-3.14.3.ebuild:
Drop old
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index 72db67975b3a..fab8fbd0f71a 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -2,17 +2,19 @@
Hash: SHA256
AUX mutter-3.14.2-automagic.patch 3729 SHA256 ecf81fe37f517451b9d207351a10d939f11ae42f2085e02336ed4b3164285717 SHA512 0bd1dd46dd7c7148ec7323d31962b6922be30d184a0ccb02311a69f029c21d9fc479eac6b6efb3bf48fca8b0ecb38487705bef9a93fdb6275bed393175b3c878 WHIRLPOOL aed80cb8c9724c38f3fe45ce07cd9e55570a5e706e27a69b369610179f44c60b11c2d04857306b740117910287badc4af19782df36b8e9bee88c22ea602b2d65
+AUX mutter-3.16.2-size-unredirected.patch 5283 SHA256 9056569d8c6c9cbd01b7fa37c82b9037fb472f49925436c2e0dd1feaf6d91e37 SHA512 ad3183c22aacee01b42d047ad341166227794b39b13037932c186d4dfcd09ef10367239455bdc3bbf5062aca408e2bb6f43e167079857c73be7197485a1d7c91 WHIRLPOOL ed1717647c97837e27be7fa36a2431d7383580afc4c8de8d8310d333c2c59aa0ac344610d30a6463ace7233e7ed9ddebe978ebcd8c9c9ecf4b6e9a1f5d0b893a
AUX mutter-3.2.1-ignore-shadow-and-padding.patch 2640 SHA256 765c04ba4d177789407a25d3cbdf358e3fa125170cfd37c53095372bc4ec883d SHA512 ba04a2265be9b2816ada33cb2dcf71ff02eb8667ada7c41139fc9e44e85a37030b8f0b7eb8064af2b6e691539a6dae5a0f8e66e06e2e3b803287eec798f13b52 WHIRLPOOL e85a2e27c9f036156dca68276793ea4bee5381ca43acdd85e7a37b4f577c6ae581be70866fa390a62fa4edf57d78b133185062642c96f30053a0b36f8c946893
DIST mutter-3.14.4.tar.xz 1608836 SHA256 b4fbcc0664484d6215fc1f2101e9b636303de63544b786f2f87ebf2f6a616a8b SHA512 5b6e2d969e9a328e23bedb9fd0409da1af0d2ae8ded6a940992d4cff18a8cbfe2aa6582a56a2c8bd549a560a84d8cbffe953f151bcadf235315b8ec8bc7d1267 WHIRLPOOL 45c0329832999f14a5eaa77df3a6c7bbc72556b779fc55b3db9505594efec40252996bf8d96083da47fdb67b6bf5a9402f526d8bbb1e5436e5de16a8520e4acf
DIST mutter-3.16.2.tar.xz 1549760 SHA256 4a2b752f0b3aa59f50563190222623324f5154acbb6bf174213f5849e77d0763 SHA512 f2cd350f8dbd03bc8e58f6c3f1b48cd51b38ae56e020d4e02100ef02f003d797a20095acf6a8874563fde42cfde49c4a28c418af151ee49f24ed391d5ae3caba WHIRLPOOL a88badf1f59c8c6ba8dcde4af207a2e66e66abbd6fd6c436289591bbb6eb3b017f50a7122282b69fd7d55127029e7623b7cbca3467d2d25d95c8ff6077dc371b
EBUILD mutter-3.14.4.ebuild 2607 SHA256 2942d5bc57ad0b2260f820dd13b2d6d8976ce8e9d100e886ab79f25b6714a843 SHA512 c0d407c91e260244a86776945f53472cfbbba8dc623b296c398e86f3385665e4e34215076f304edb59738a1698e0db210702e4c451150d51ede08294ea8b8dd1 WHIRLPOOL acbe6dc828893bc8b3ec29ab10179ff35d8d20d271a887d2486adbeba2f9af15bb51649481a64da012de806b39e9944c21e30afbcc377aeb1f0dad30c843ec6b
+EBUILD mutter-3.16.2-r1.ebuild 2498 SHA256 637efcaff82b4b63287940f12ac29a6e5c223c7c46eb4224887ce78ebcf649ac SHA512 502accda15cffb5ec963979bbbdc37b3162581e582a509939cd581948aaa652c1d35a6ec33c42d096cc1e1669b9e5ae892619316775987ab01db4c28868f7605 WHIRLPOOL fe7b9de6a2c7c8f0f6fecd579be18a89e927eef42c65ed65e174e14cbade976c605f4e02e8e0dfdacb16b4155903c8da6ecb50d4e8f44d0351e70663b42dbd4b
EBUILD mutter-3.16.2.ebuild 2320 SHA256 1ac12b8e5db860d22c02a7fd97969d0cc294b9fd55734c362565e4bfa33314b2 SHA512 f48f91a2c0454fc9d650bfb5f1c37e8beecddd94c71528fded5ed3ce74dc84c3375c32463eb646ca2fb9dba167a97d2a89bb3e0988fca86684b250605312b7e8 WHIRLPOOL 65ac7d212542fc164fa2387129f949cfb3ebfa25d43fb33897de90691bb2cb7af17440782bffa9fdd39670c62bb4682002643f0095598666e4bbc5ac8fc6e286
-MISC ChangeLog 9264 SHA256 340c9c7590e774ce6e7071d804b1c5ab828b4cba1e5188303d65741c9f8b754f SHA512 c13550078252e422408f36df93e21955b956b0f211ecf66901171a25cd66ca9ff11a5305be4cfe10119d051d1aacfea0bccd0006b00506eeb1bc09858d029255 WHIRLPOOL 5799f13dccd92f548531ebec59127895d7a03adc2144c0648bb4a7702e96d0a6fe4c941645053479fffc53b244b32cc57d16665b51c300ce72430e206eefa5f3
+MISC ChangeLog 9562 SHA256 c2701a74bcc4332b21529c9f09060521ea05e9548cf82141e1d85c98489916cd SHA512 eea3d91efa209dc7b2b55dcea9f02a4b763140bf407ae1d696e4c5fdb6b630f0ef852724ca77e2a3ce3a6d24743e0a4bf09c1348f0fcd1eaa8370cf6b59d045d WHIRLPOOL 1ce6510fa3504d9b5aff4e20b9664182787583d57b4c794dc53b891da81a1acb2721b0600413e479fb37441cb9bddef5c4df9f8aaaedd5c1b2884c0e9c423d0e
MISC metadata.xml 220 SHA256 c8529b9b3e1e8f43611e9431beebf801acec0d5df9fb467db8cb6ac17717bebb SHA512 0a65108bef9b975d46c24eda273bbb36457442275685140267285ea176fefe1bb53ff4c301e746cd2563805c26e11392413b02ffd67d9f4888c1026f10d77d38 WHIRLPOOL 9314aaf1e1d6554f10dc9751105f1eebd5d4d632bb56610d1fc8ff34032f2fd14d9df7b178cebc0bea1eaa27525634f95548d05498773aa5feb0dc46dd248049
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iEYEAREIAAYFAlWPxcUACgkQCaWpQKGI+9Tn4gCfY5NUGoYGgD1qbPx5ZVC8qoWe
-jwcAniJlMfokTgdl3Toetk059WS3R4Rx
-=lFBr
+iEYEAREIAAYFAlWPzWcACgkQCaWpQKGI+9TJ9ACghud3CkN4xjw9MZ/97fi6Xbmo
+yOsAn3Aq1pMvUYWyR5saa+GATEQptgCp
+=/wHk
-----END PGP SIGNATURE-----
diff --git a/x11-wm/mutter/files/mutter-3.16.2-size-unredirected.patch b/x11-wm/mutter/files/mutter-3.16.2-size-unredirected.patch
new file mode 100644
index 000000000000..0999ebd582a0
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-3.16.2-size-unredirected.patch
@@ -0,0 +1,151 @@
+From 351f444f9d16a90636feb217b15f0f376bf96d85 Mon Sep 17 00:00:00 2001
+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
+Date: Tue, 23 Jun 2015 16:23:45 -0700
+Subject: surface-actor-x11: Make sure to set a size when unredirected
+
+When we're unredirected, we don't have a pixmap, and thus our allocation
+becomes 0x0. So when events come in, they pass right through our actor,
+going to the one underneath in the stack.
+
+Fix this by having a fallback size on the shaped texture actor when
+we're unredirected, causing it to always have a valid allocation.
+
+This fixes clicking on stuff in sloppy / mouse mode focus.
+
+diff --git a/src/compositor/meta-shaped-texture-private.h b/src/compositor/meta-shaped-texture-private.h
+index 4ee8027..21c6335 100644
+--- a/src/compositor/meta-shaped-texture-private.h
++++ b/src/compositor/meta-shaped-texture-private.h
+@@ -32,6 +32,9 @@
+ ClutterActor *meta_shaped_texture_new (void);
+ void meta_shaped_texture_set_texture (MetaShapedTexture *stex,
+ CoglTexture *texture);
++void meta_shaped_texture_set_fallback_size (MetaShapedTexture *stex,
++ guint fallback_width,
++ guint fallback_height);
+ gboolean meta_shaped_texture_is_obscured (MetaShapedTexture *self);
+
+ #endif
+diff --git a/src/compositor/meta-shaped-texture.c b/src/compositor/meta-shaped-texture.c
+index 163c5e6..8701d1b 100644
+--- a/src/compositor/meta-shaped-texture.c
++++ b/src/compositor/meta-shaped-texture.c
+@@ -86,6 +86,7 @@ struct _MetaShapedTexturePrivate
+ cairo_region_t *unobscured_region;
+
+ guint tex_width, tex_height;
++ guint fallback_width, fallback_height;
+
+ guint create_mipmaps : 1;
+ };
+@@ -136,7 +137,20 @@ set_unobscured_region (MetaShapedTexture *self,
+ g_clear_pointer (&priv->unobscured_region, (GDestroyNotify) cairo_region_destroy);
+ if (unobscured_region)
+ {
+- cairo_rectangle_int_t bounds = { 0, 0, priv->tex_width, priv->tex_height };
++ guint width, height;
++
++ if (priv->texture)
++ {
++ width = priv->tex_width;
++ height = priv->tex_height;
++ }
++ else
++ {
++ width = priv->fallback_width;
++ height = priv->fallback_height;
++ }
++
++ cairo_rectangle_int_t bounds = { 0, 0, width, height };
+ priv->unobscured_region = cairo_region_copy (unobscured_region);
+ cairo_region_intersect_rectangle (priv->unobscured_region, &bounds);
+ }
+@@ -499,16 +513,21 @@ meta_shaped_texture_get_preferred_width (ClutterActor *self,
+ gfloat *natural_width_p)
+ {
+ MetaShapedTexturePrivate *priv;
++ guint width;
+
+ g_return_if_fail (META_IS_SHAPED_TEXTURE (self));
+
+ priv = META_SHAPED_TEXTURE (self)->priv;
+
+- if (min_width_p)
+- *min_width_p = priv->tex_width;
++ if (priv->texture)
++ width = priv->tex_width;
++ else
++ width = priv->fallback_width;
+
++ if (min_width_p)
++ *min_width_p = width;
+ if (natural_width_p)
+- *natural_width_p = priv->tex_width;
++ *natural_width_p = width;
+ }
+
+ static void
+@@ -518,16 +537,21 @@ meta_shaped_texture_get_preferred_height (ClutterActor *self,
+ gfloat *natural_height_p)
+ {
+ MetaShapedTexturePrivate *priv;
++ guint height;
+
+ g_return_if_fail (META_IS_SHAPED_TEXTURE (self));
+
+ priv = META_SHAPED_TEXTURE (self)->priv;
+
+- if (min_height_p)
+- *min_height_p = priv->tex_height;
++ if (priv->texture)
++ height = priv->tex_height;
++ else
++ height = priv->fallback_height;
+
++ if (min_height_p)
++ *min_height_p = height;
+ if (natural_height_p)
+- *natural_height_p = priv->tex_height;
++ *natural_height_p = height;
+ }
+
+ static cairo_region_t *
+@@ -860,6 +884,17 @@ meta_shaped_texture_get_image (MetaShapedTexture *stex,
+ return surface;
+ }
+
++void
++meta_shaped_texture_set_fallback_size (MetaShapedTexture *self,
++ guint fallback_width,
++ guint fallback_height)
++{
++ MetaShapedTexturePrivate *priv = self->priv;
++
++ priv->fallback_width = fallback_width;
++ priv->fallback_height = fallback_height;
++}
++
+ static void
+ meta_shaped_texture_cull_out (MetaCullable *cullable,
+ cairo_region_t *unobscured_region,
+diff --git a/src/compositor/meta-surface-actor-x11.c b/src/compositor/meta-surface-actor-x11.c
+index 4aa7ecd..b50b8f2 100644
+--- a/src/compositor/meta-surface-actor-x11.c
++++ b/src/compositor/meta-surface-actor-x11.c
+@@ -416,6 +416,7 @@ meta_surface_actor_x11_set_size (MetaSurfaceActorX11 *self,
+ int width, int height)
+ {
+ MetaSurfaceActorX11Private *priv = meta_surface_actor_x11_get_instance_private (self);
++ MetaShapedTexture *stex = meta_surface_actor_get_texture (META_SURFACE_ACTOR (self));
+
+ if (priv->last_width == width &&
+ priv->last_height == height)
+@@ -424,4 +425,5 @@ meta_surface_actor_x11_set_size (MetaSurfaceActorX11 *self,
+ priv->size_changed = TRUE;
+ priv->last_width = width;
+ priv->last_height = height;
++ meta_shaped_texture_set_fallback_size (stex, width, height);
+ }
+--
+cgit v0.10.2
+
diff --git a/x11-wm/mutter/mutter-3.16.2-r1.ebuild b/x11-wm/mutter/mutter-3.16.2-r1.ebuild
new file mode 100644
index 000000000000..84dca03dcc70
--- /dev/null
+++ b/x11-wm/mutter/mutter-3.16.2-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/mutter/mutter-3.16.2-r1.ebuild,v 1.1 2015/06/28 10:33:10 pacho Exp $
+
+EAPI="5"
+GCONF_DEBUG="yes"
+
+inherit eutils gnome2
+
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
+HOMEPAGE="http://git.gnome.org/browse/mutter/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+introspection +kms test wayland"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# libXi-1.7.4 or newer needed per:
+# https://bugzilla.gnome.org/show_bug.cgi?id=738944
+COMMON_DEPEND="
+ >=x11-libs/pango-1.2[X,introspection?]
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.9.11:3[X,introspection?]
+ >=dev-libs/glib-2.36.0:2[dbus]
+ >=media-libs/clutter-1.21.3:1.0[introspection?]
+ >=media-libs/cogl-1.17.1:1.0=[introspection?]
+ >=media-libs/libcanberra-0.26[gtk3]
+ >=x11-libs/startup-notification-0.7
+ >=x11-libs/libXcomposite-0.2
+ >=gnome-base/gsettings-desktop-schemas-3.15.92[introspection?]
+ gnome-base/gnome-desktop:3=
+ >sys-power/upower-0.99:=
+
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ >=x11-libs/libXcomposite-0.2
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ >=x11-libs/libXi-1.7.4
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxcb
+ x11-libs/libxkbfile
+ >=x11-libs/libxkbcommon-0.4.3[X]
+ x11-misc/xkeyboard-config
+
+ gnome-extra/zenity
+
+ introspection? ( >=dev-libs/gobject-introspection-1.42:= )
+ kms? (
+ dev-libs/libinput
+ >=media-libs/clutter-1.20[egl]
+ media-libs/cogl:1.0=[kms]
+ >=media-libs/mesa-10.3[gbm]
+ sys-apps/systemd
+ virtual/libgudev
+ x11-libs/libdrm:= )
+ wayland? (
+ >=dev-libs/wayland-1.5.90
+ >=media-libs/clutter-1.20[wayland]
+ x11-base/xorg-server[wayland] )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-doc-am-1.15
+ >=dev-util/intltool-0.41
+ sys-devel/gettext
+ virtual/pkgconfig
+ x11-proto/xextproto
+ x11-proto/xineramaproto
+ x11-proto/xproto
+ test? ( app-text/docbook-xml-dtd:4.5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ !x11-misc/expocity
+"
+
+src_prepare() {
+ # surface-actor-x11: Make sure to set a size when unredirected (from 3.16 branch)
+ epatch "${FILESDIR}"/${P}-size-unredirected.patch
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ --enable-sm \
+ --enable-startup-notification \
+ --enable-verbose-mode \
+ --with-libcanberra \
+ $(use_enable introspection) \
+ $(use_enable kms native-backend) \
+ $(use_enable wayland)
+}