When unmap and destroy a surface we need to make sure we don't pick it
before we rebuild the new surface list. Currently we ensure this
by rebuilding the surface list when destroying a surface, but just
removing the surface should be enough.
assert(wl_list_empty(&surface->subsurface_list_pending));
assert(wl_list_empty(&surface->subsurface_list));
- if (weston_surface_is_mapped(surface)) {
+ if (weston_surface_is_mapped(surface))
weston_surface_unmap(surface);
- weston_compositor_build_surface_list(compositor);
- }
wl_list_for_each_safe(cb, next,
&surface->pending.frame_callback_list, link)