summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2017-05-13 19:42:19 +0300
committerMart Raudsepp <leio@gentoo.org>2017-05-13 19:44:20 +0300
commit48829a034ee86281bc4c7bef35d8dc937624227b (patch)
treed7aaa0b95d9dd4256c94c1d46f0ce4f7bb5309db /x11-wm/mutter/files
parentsci-chemistry/openbabel-python: Backport Fix for gcc 6/7 (diff)
downloadgentoo-48829a034ee86281bc4c7bef35d8dc937624227b.tar.gz
gentoo-48829a034ee86281bc4c7bef35d8dc937624227b.tar.bz2
gentoo-48829a034ee86281bc4c7bef35d8dc937624227b.zip
x11-wm/mutter: revbump with various fixes, mostly for wayland session
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'x11-wm/mutter/files')
-rw-r--r--x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch28
-rw-r--r--x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch32
-rw-r--r--x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch31
-rw-r--r--x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch47
-rw-r--r--x11-wm/mutter/files/3.22.4-wayland-size-hints.patch56
5 files changed, 194 insertions, 0 deletions
diff --git a/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch b/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch
new file mode 100644
index 000000000000..ed16b8c6f4b8
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-clutter-missing-null-terminator.patch
@@ -0,0 +1,28 @@
+From f6888519ff3e20ec8f5e6064bff5707acbe13fbd Mon Sep 17 00:00:00 2001
+From: Nigel Taylor <nigel@openbsd.org>
+Date: Fri, 5 May 2017 08:42:47 -0400
+Subject: [PATCH 2/5] clutter: conform/actor-graph: Add missing
+ null-termination
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759085
+---
+ clutter/tests/conform/actor-graph.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/clutter/tests/conform/actor-graph.c b/clutter/tests/conform/actor-graph.c
+index 0dad49b..8fbf4bc 100644
+--- a/clutter/tests/conform/actor-graph.c
++++ b/clutter/tests/conform/actor-graph.c
+@@ -350,7 +350,8 @@ actor_replace_child (void)
+ g_assert_cmpstr (clutter_actor_get_name (iter), ==, "qux");
+
+ clutter_actor_add_child (actor, g_object_new (CLUTTER_TYPE_ACTOR,
+- "name", "foo"));
++ "name", "foo",
++ NULL));
+
+ clutter_actor_replace_child (actor, iter,
+ g_object_new (CLUTTER_TYPE_ACTOR,
+--
+2.10.1
+
diff --git a/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch b/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch
new file mode 100644
index 000000000000..24e6fd36a309
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-clipboard-fix.patch
@@ -0,0 +1,32 @@
+From 19f08fbdbba113883c6011e4b8ccf3ea3a6eb57e Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Wed, 10 May 2017 20:28:42 +0200
+Subject: [PATCH 5/5] xwayland: Use the right atom type for further selection
+ requests to X11
+
+If we translate between text/plain;charset-utf-8 from the wayland side to
+UTF8_STRING on the X11 side, we want to continue all further X11 selection
+requests using the same translated UTF8_STRING atom than we use in the
+first XConvertSelection call.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=782472
+---
+ src/wayland/meta-xwayland-selection.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wayland/meta-xwayland-selection.c b/src/wayland/meta-xwayland-selection.c
+index a78e846..24b8cd2 100644
+--- a/src/wayland/meta-xwayland-selection.c
++++ b/src/wayland/meta-xwayland-selection.c
+@@ -829,7 +829,7 @@ meta_x11_source_send (MetaWaylandDataSource *source,
+ /* Takes ownership of fd */
+ selection->x11_selection =
+ x11_selection_data_new (compositor->xwayland_manager.selection_data,
+- fd, mime_type);
++ fd, gdk_x11_get_xatom_name (type_atom));
+
+ XConvertSelection (xdisplay,
+ selection->selection_atom, type_atom,
+--
+2.10.1
+
diff --git a/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch b/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch
new file mode 100644
index 000000000000..a6eddb1f72e0
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-crash-fix.patch
@@ -0,0 +1,31 @@
+From ba317dcd74baebfd8f8c8dd417ded71f6cc8c771 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
+Date: Mon, 17 Apr 2017 13:27:35 +0800
+Subject: [PATCH 1/5] wayland/subsurface: Handle clients committing on
+ destroyed subsurface
+
+A client can still commit state to a destroyed subsurface. It wont
+update anything on the screen, since the subsurface will not be
+visible, but mutter should still handle it and not crash.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=781391
+---
+ src/wayland/meta-wayland-surface.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
+index 99e3dfd..a6079ee 100644
+--- a/src/wayland/meta-wayland-surface.c
++++ b/src/wayland/meta-wayland-surface.c
+@@ -605,7 +605,7 @@ subsurface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role)
+ meta_wayland_surface_role_get_surface (surface_role);
+ MetaWaylandSurface *parent = surface->sub.parent;
+
+- if (parent->role)
++ if (parent && parent->role)
+ return meta_wayland_surface_role_get_toplevel (parent->role);
+ else
+ return NULL;
+--
+2.10.1
+
diff --git a/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch b/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch
new file mode 100644
index 000000000000..543d6edb8e76
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-ensure-pending-geometry.patch
@@ -0,0 +1,47 @@
+From ca31a94e54819b5bfeccbeef4e7c041bbef15eac Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Fri, 5 May 2017 13:55:51 +0200
+Subject: [PATCH 3/5] wayland: Make sure we have a pending geometry
+
+If the client doesn't set a geometry using xdg_shell, we'll compute its
+geometry based on its surface and subsurfaces.
+
+Yet, we translate that as a window (re)size only when there is a pending
+geometry, that we don't have when we computed the geometry by ourself.
+
+Make sure we set the pending new geometry flag when computing the
+geometry when it actually changed.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=782213
+---
+ src/wayland/meta-wayland-xdg-shell.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
+index aa355da..87a8382 100644
+--- a/src/wayland/meta-wayland-xdg-shell.c
++++ b/src/wayland/meta-wayland-xdg-shell.c
+@@ -1263,11 +1263,19 @@ xdg_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
+ }
+ else if (!priv->has_set_geometry)
+ {
++ MetaRectangle new_geometry = { 0 };
++
+ /* If the surface has never set any geometry, calculate
+ * a default one unioning the surface and all subsurfaces together. */
++
+ meta_wayland_surface_calculate_window_geometry (surface,
+- &priv->geometry,
++ &new_geometry,
+ 0, 0);
++ if (!meta_rectangle_equal (&new_geometry, &priv->geometry))
++ {
++ pending->has_new_geometry = TRUE;
++ priv->geometry = new_geometry;
++ }
+ }
+ }
+
+--
+2.10.1
+
diff --git a/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch b/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch
new file mode 100644
index 000000000000..03b2b22fe655
--- /dev/null
+++ b/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch
@@ -0,0 +1,56 @@
+From 40a3d67698dc992d084886e01b07a78d438bbf8e Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Wed, 10 May 2017 08:59:53 +0200
+Subject: [PATCH 4/5] wayland: Apply size hints regardless of geometry
+
+Previously we would bail out early in xdg_toplevel_role_commit() if no
+geometry change was set, ignoring the possible min/max size hints
+changes.
+
+But setting a min/max size hint without changing the geometry is
+perfectly valid, so we ought to apply the min/max changes regardless of
+a geometry change.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=782213
+---
+ src/wayland/meta-wayland-xdg-shell.c | 22 ++++++++++------------
+ 1 file changed, 10 insertions(+), 12 deletions(-)
+
+diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
+index 87a8382..bd576f6 100644
+--- a/src/wayland/meta-wayland-xdg-shell.c
++++ b/src/wayland/meta-wayland-xdg-shell.c
+@@ -615,20 +615,18 @@ xdg_toplevel_role_commit (MetaWaylandSurfaceRole *surface_role,
+ if (!window)
+ return;
+
+- if (!pending->has_new_geometry)
++ if (pending->has_new_geometry)
+ {
+- if (pending->dx != 0 || pending->dx != 0)
+- {
+- g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now.");
+- }
+- return;
++ window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
++ meta_window_wayland_move_resize (window,
++ &xdg_surface_priv->acked_configure_serial,
++ window_geometry,
++ pending->dx, pending->dy);
++ }
++ else if (pending->dx != 0 || pending->dx != 0)
++ {
++ g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now.");
+ }
+-
+- window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
+- meta_window_wayland_move_resize (window,
+- &xdg_surface_priv->acked_configure_serial,
+- window_geometry,
+- pending->dx, pending->dy);
+
+ /* When we get to this point, we ought to have valid size hints */
+ if (pending->has_new_min_size || pending->has_new_max_size)
+--
+2.10.1
+