912f20b9b7cfbb39b4ebe72b2c8f2dcad8b57570
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.
Wayland Demos This repository contains a few demos application for the Wayland project. There's a sample compositor that can run on KMS, under X11 or under another Wayland compositor and there's a handful of simple clients that demonstrate various aspects of Wayland:
Description
Languages
C
98%
Meson
1.4%
Shell
0.3%
GLSL
0.2%