compositor: Unlink unmapped surface instead of rebuilding surface list
authorKristian Høgsberg <krh@bitplanet.net>
Sun, 22 Sep 2013 04:26:05 +0000 (21:26 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Sun, 22 Sep 2013 04:26:05 +0000 (21:26 -0700)
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.

src/compositor.c

index e138e99..f94392c 100644 (file)
@@ -1091,10 +1091,8 @@ weston_surface_destroy(struct weston_surface *surface)
        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)