If a surface is map'd and unmap'd before an output repaint occurs, it is not added to the compositor's surface list, so the field weston_surface::link might be invalid (the field is initialized on weston_surface_create()), and it that case Weston will crash on the call to wl_list_remove(&surface->link) in weston_surface_unmap(). Initialize the surface->link after the call to wl_list_remove() to make sure a following call to wl_list_remove() won't cause a crash.
parent
319b29c954
commit
912f20b9b7
Loading…
Reference in new issue