diff options
author | Mart Raudsepp <leio@gentoo.org> | 2017-05-13 19:42:19 +0300 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2017-05-13 19:44:20 +0300 |
commit | 48829a034ee86281bc4c7bef35d8dc937624227b (patch) | |
tree | d7aaa0b95d9dd4256c94c1d46f0ce4f7bb5309db /x11-wm/mutter/files | |
parent | sci-chemistry/openbabel-python: Backport Fix for gcc 6/7 (diff) | |
download | gentoo-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')
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 + |