diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c index 995ca5dfb..811dad999 100644 --- a/src/wayland/meta-wayland-surface.c +++ b/src/wayland/meta-wayland-surface.c @@ -453,6 +453,10 @@ commit_pending_state (MetaWaylandSurface *surface, meta_surface_actor_set_input_region (surface->surface_actor, pending->input_region); } + /* wl_surface.frame */ + wl_list_insert_list (&compositor->frame_callbacks, &pending->frame_callback_list); + wl_list_init (&pending->frame_callback_list); + if (surface == compositor->seat->pointer.cursor_surface) cursor_surface_commit (surface, pending); else if (meta_wayland_data_device_is_dnd_surface (&compositor->seat->data_device, surface)) @@ -464,10 +468,6 @@ commit_pending_state (MetaWaylandSurface *surface, g_list_foreach (surface->subsurfaces, parent_surface_committed, NULL); - /* wl_surface.frame */ - wl_list_insert_list (&compositor->frame_callbacks, &pending->frame_callback_list); - wl_list_init (&pending->frame_callback_list); - pending_state_reset (pending); }