From dc7b5ab21e366c7cc6deef6a76005c851e7825d3 Mon Sep 17 00:00:00 2001 From: Kirill Primak Date: Fri, 3 Feb 2023 19:25:07 +0300 Subject: [PATCH] layer-shell: forbid changing the existing popup parent --- types/wlr_layer_shell_v1.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c index 355e9566b..cc1ea8fef 100644 --- a/types/wlr_layer_shell_v1.c +++ b/types/wlr_layer_shell_v1.c @@ -220,6 +220,10 @@ static void layer_surface_handle_get_popup(struct wl_client *client, if (!parent) { return; } + if (popup->parent != NULL) { + wl_resource_post_error(layer_resource, -1, "xdg_popup already has a parent"); + return; + } popup->parent = parent->surface; wl_list_insert(&parent->popups, &popup->link); wl_signal_emit_mutable(&parent->events.new_popup, popup);