xdg-popup: don't emit parent's new_popup signal too early

This commit is contained in:
Kirill Primak 2024-06-11 11:28:09 +03:00
parent 629a5171f2
commit e7deea44fd

View File

@ -422,7 +422,6 @@ void create_xdg_popup(struct wlr_xdg_surface *surface,
if (parent) {
surface->popup->parent = parent->surface;
wl_list_insert(&parent->popups, &surface->popup->link);
wl_signal_emit_mutable(&parent->events.new_popup, surface->popup);
} else {
wl_list_init(&surface->popup->link);
}
@ -430,6 +429,9 @@ void create_xdg_popup(struct wlr_xdg_surface *surface,
set_xdg_surface_role_object(surface, surface->popup->resource);
wl_signal_emit_mutable(&surface->client->shell->events.new_popup, surface->popup);
if (parent) {
wl_signal_emit_mutable(&parent->events.new_popup, surface->popup);
}
return;