wayland/dnd-surface: Chain up in the assigned vfunc

Commit e775052429 changed the code such that resetting the actor is done
when a surface role is assigned. The dnd surface assigned vfunc doesn't
chain up which means the code to reset the actor is never hit and the
dnd surface never shows up.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3540
Fixes: e775052429 ("wayland/actor-surface: Reset the actor on role-assignment")
This commit is contained in:
Sebastian Wick 2024-06-25 16:15:32 +02:00 committed by Jordan Petridis
parent 0c014a23b4
commit be46852292

View File

@ -97,14 +97,18 @@ dnd_surface_assigned (MetaWaylandSurfaceRole *surface_role)
{
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandSurfaceRoleClass *surface_role_class =
META_WAYLAND_SURFACE_ROLE_CLASS (meta_wayland_surface_role_dnd_parent_class);
if (wl_list_empty (&surface->unassigned.pending_frame_callback_list))
return;
if (!wl_list_empty (&surface->unassigned.pending_frame_callback_list))
{
meta_wayland_compositor_add_frame_callback_surface (surface->compositor,
surface);
}
surface_role_class->assigned (surface_role);
}
static void
dnd_surface_apply_state (MetaWaylandSurfaceRole *surface_role,
MetaWaylandSurfaceState *pending)