diff --git a/srcpkgs/sway/INSTALL.msg b/srcpkgs/sway/INSTALL.msg deleted file mode 100644 index 05274ffcc3a..00000000000 --- a/srcpkgs/sway/INSTALL.msg +++ /dev/null @@ -1,6 +0,0 @@ -Setting the SUID bit after install has been retired for all Wayland -compositors. It is recommended that users use a session management daemon -such as elogind or seatd and do not rely on compositors dropping privileges. - -All users who require this functionality will need to set the SUID bit manually -after each update going forward. diff --git a/srcpkgs/sway/patches/6046.patch b/srcpkgs/sway/patches/6046.patch deleted file mode 100644 index 34845cd99b5..00000000000 --- a/srcpkgs/sway/patches/6046.patch +++ /dev/null @@ -1,133 +0,0 @@ -Upstream: yes -Source: https://github.com/swaywm/sway/pull/6046 -Reason: Popup menu flickers on Firefox -(https://bugzilla.mozilla.org/show_bug.cgi?id=1696662) - -From cf03185561e919f1c337f087194fec150425eef5 Mon Sep 17 00:00:00 2001 -From: Kenny Levinsen -Date: Fri, 19 Feb 2021 18:39:54 +0100 -Subject: [PATCH 1/3] view: Recursively check mapped of view_child tree - -A subsurface may be set to mapped without its parent. ---- - sway/tree/view.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/sway/tree/view.c b/sway/tree/view.c -index ad79b2294..c8a4ea6b6 100644 ---- a/sway/tree/view.c -+++ b/sway/tree/view.c -@@ -982,8 +982,18 @@ static void view_child_subsurface_create(struct sway_view_child *child, - view_child_damage(&subsurface->child, true); - } - -+static bool view_child_is_mapped(struct sway_view_child *child) { -+ while (child) { -+ if (!child->mapped) { -+ return false; -+ } -+ child = child->parent; -+ } -+ return true; -+} -+ - static void view_child_damage(struct sway_view_child *child, bool whole) { -- if (!child || !child->mapped || !child->view || !child->view->container) { -+ if (!child || !view_child_is_mapped(child) || !child->view || !child->view->container) { - return; - } - int sx, sy; -@@ -1082,7 +1092,7 @@ void view_child_init(struct sway_view_child *child, - } - - void view_child_destroy(struct sway_view_child *child) { -- if (child->mapped && child->view->container != NULL) { -+ if (view_child_is_mapped(child) && child->view->container != NULL) { - view_child_damage(child, true); - } - - -From e2ec65d0a32797edd0846758bc24cf685e2d19d5 Mon Sep 17 00:00:00 2001 -From: Kenny Levinsen -Date: Fri, 19 Feb 2021 18:41:04 +0100 -Subject: [PATCH 2/3] view: Mark subchildren as unmapped in view_child_destroy - -The subchildren lose their parent association at this point, so they -will not be able to see that the parent is unmapped. - -Instead, just set the subchildren to be unmapped directly. ---- - sway/tree/view.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/sway/tree/view.c b/sway/tree/view.c -index c8a4ea6b6..978271c24 100644 ---- a/sway/tree/view.c -+++ b/sway/tree/view.c -@@ -1105,6 +1105,9 @@ void view_child_destroy(struct sway_view_child *child) { - wl_list_for_each_safe(subchild, tmpchild, &child->children, link) { - wl_list_remove(&subchild->link); - subchild->parent = NULL; -+ // The subchild lost its parent link, so it cannot see that the parent -+ // is unmapped. Unmap it directly. -+ subchild->mapped = false; - } - - wl_list_remove(&child->surface_commit.link); - -From c06a926e0d89e952e5a3892b63f07d5b802b34ef Mon Sep 17 00:00:00 2001 -From: Kenny Levinsen -Date: Fri, 19 Feb 2021 18:33:20 +0100 -Subject: [PATCH 3/3] view: Set parent for view_child subsurfaces on init - -view_child_init was calling view_init_subsurfaces, which did not set the -parent attribute for the subchildren. This lead to the subchildren -acting as standalone children. If the parent was an xdg_popup, this -would make the subchild unaware of the popup position. - -Introduce view_child_init_subsurfaces for view_child_init to use -instead. - -Closes: https://github.com/swaywm/sway/issues/6038 ---- - sway/tree/view.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/sway/tree/view.c b/sway/tree/view.c -index 978271c24..8a2a8178d 100644 ---- a/sway/tree/view.c -+++ b/sway/tree/view.c -@@ -465,6 +465,9 @@ static void view_subsurface_create(struct sway_view *view, - static void view_init_subsurfaces(struct sway_view *view, - struct wlr_surface *surface); - -+static void view_child_init_subsurfaces(struct sway_view_child *view_child, -+ struct wlr_surface *surface); -+ - static void view_handle_surface_new_subsurface(struct wl_listener *listener, - void *data) { - struct sway_view *view = -@@ -1033,6 +1036,14 @@ static void view_init_subsurfaces(struct sway_view *view, - } - } - -+static void view_child_init_subsurfaces(struct sway_view_child *view_child, -+ struct wlr_surface *surface) { -+ struct wlr_subsurface *subsurface; -+ wl_list_for_each(subsurface, &surface->subsurfaces, parent_link) { -+ view_child_subsurface_create(view_child, subsurface); -+ } -+} -+ - static void view_child_handle_surface_map(struct wl_listener *listener, - void *data) { - struct sway_view_child *child = -@@ -1088,7 +1099,7 @@ void view_child_init(struct sway_view_child *child, - wlr_surface_send_enter(child->surface, workspace->output->wlr_output); - } - -- view_init_subsurfaces(child->view, surface); -+ view_child_init_subsurfaces(child, surface); - } - - void view_child_destroy(struct sway_view_child *child) { diff --git a/srcpkgs/sway/template b/srcpkgs/sway/template index 2858c7026b5..3297f668adf 100644 --- a/srcpkgs/sway/template +++ b/srcpkgs/sway/template @@ -1,8 +1,9 @@ # Template file for 'sway' pkgname=sway -version=1.5.1 -revision=2 +version=1.6 +revision=1 build_style=meson +configure_args="-Dwerror=false -Db_ndebug=false" conf_files="/etc/sway/config" hostmakedepends="pkg-config wayland-devel scdoc git" makedepends="wlroots-devel pcre-devel json-c-devel pango-devel cairo-devel @@ -13,12 +14,7 @@ maintainer="Olaf Mersmann " license="MIT" homepage="https://swaywm.org" distfiles="https://github.com/swaywm/${pkgname}/archive/${version}.tar.gz" -checksum=095f983c9a5f80d761bc2fb19df8166839b9290124ccd47f3e74119a1335490f -patch_args="-Np1" - -post_patch() { - vsed -e 's/werror=true/werror=false/g' -i meson.build -} +checksum=9ecfd2f38239f7e90922a13cd348fc95fc059e8fa0e4b75b8ffcc7b61685a5fb post_install() { vlicense LICENSE