From 1af95d539f1b7cd1e5d98069d243e81d8b22edc6 Mon Sep 17 00:00:00 2001 From: Levi Neely <141506390+lneely@users.noreply.github.com> Date: Wed, 13 May 2026 17:32:49 +0200 Subject: [PATCH] Fix menu unmap: hide children when parent is unmapped wl_window_unmap now disables child scene nodes when the parent is hidden. This fixes the menu entries staying visible after the menu frame (titlebar) was unmapped. The entire menu now disappears together, matching X11 behavior where the brother menu closes on button release. --- src/backend/wayland/wl_backend.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 99fb16a..33fd3fd 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -5389,6 +5389,12 @@ wl_window_unmap(WNativeWindow win) struct wl_frame_buf *fb = frame_buf_find(win); if (fb && fb->scene_buf) { wlr_scene_node_set_enabled(&fb->scene_buf->node, false); + /* Also hide children */ + struct wl_frame_buf *child; + wl_list_for_each(child, &wl_state.frame_list, link) { + if (child->parent_id == win && child->scene_buf) + wlr_scene_node_set_enabled(&child->scene_buf->node, false); + } return; } }