wayland/subsurface: Call commit of surface-actor-role on commit

Rely on the actor surface role's commit function for queuing frame
callbacks. This also makes the surface actor state synchronization work
again, which was broken by 'wayland: Sync surface actor state in actor
role commit handler'.

https://bugzilla.gnome.org/show_bug.cgi?id=770131
This commit is contained in:
Jonas Ådahl 2016-08-19 15:16:56 +08:00
parent 43151edece
commit b6e13c459a

View File

@ -574,12 +574,15 @@ static void
subsurface_role_commit (MetaWaylandSurfaceRole *surface_role, subsurface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandPendingState *pending)
{ {
MetaWaylandSurfaceRoleClass *surface_role_class;
MetaWaylandSurface *surface = MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role); meta_wayland_surface_role_get_surface (surface_role);
MetaSurfaceActorWayland *surface_actor = MetaSurfaceActorWayland *surface_actor =
META_SURFACE_ACTOR_WAYLAND (surface->surface_actor); META_SURFACE_ACTOR_WAYLAND (surface->surface_actor);
queue_surface_actor_frame_callbacks (surface, pending); surface_role_class =
META_WAYLAND_SURFACE_ROLE_CLASS (meta_wayland_surface_role_subsurface_parent_class);
surface_role_class->commit (surface_role, pending);
if (surface->buffer_ref.buffer != NULL) if (surface->buffer_ref.buffer != NULL)
clutter_actor_show (CLUTTER_ACTOR (surface_actor)); clutter_actor_show (CLUTTER_ACTOR (surface_actor));