diff options
author | 2015-06-28 10:33:11 +0000 | |
---|---|---|
committer | 2015-06-28 10:33:11 +0000 | |
commit | c7326ce0f4cbfa0db2b3ba0dd55126283c2e678b (patch) | |
tree | 5d6a900127a38a16b0c2150589e654dc6545f82b /x11-wm | |
parent | x86 stable wrt bug #552220 (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | x11-wm/mutter/Manifest | 10 | ||||
-rw-r--r-- | x11-wm/mutter/files/mutter-3.16.2-size-unredirected.patch | 151 | ||||
-rw-r--r-- | x11-wm/mutter/mutter-3.16.2-r1.ebuild | 97 |
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) +} |