641796c31ac5bebf42a630557de734aad01445c9
When a fullscreen surface gets the maximized state, the function reset_surface_type() is called and that causes unset_fullscreen() to be called. That function would set the value of shsurf->fullscreen_output to NULL. However, since the surface still has the fullscreen state, it will be configured as a fullscreen surface again, and an attempt to access that field would cause the compositor to crash. Fix the crash by keeping the value of fullscreen_output around after unset_fullscreen(). This is safe since the value is only used when a surface has the fullscreen state and is replaced on a new request to make the surface fullscreen. https://bugs.freedesktop.org/show_bug.cgi?id=76867
Weston Weston is the reference implementation of a Wayland compositor, and a useful compositor in its own right. Weston has various backends that lets it run on Linux kernel modesetting and evdev input as well as under X11. Weston ships with a few example clients, from simple clients that demonstrate certain aspects of the protocol to more complete clients and a simplistic toolkit. There is also a quite capable terminal emulator (weston-terminal) and an toy/example desktop shell. Finally, weston also provides integration with the Xorg server and can pull X clients into the Wayland desktop and act as a X window manager. Refer to http://wayland.freedesktop.org/building.html for building weston and its dependencies. The test suite can be invoked via `make check`; see http://wayland.freedesktop.org/testing.html for additional details.
Description
Languages
C
98%
Meson
1.4%
Shell
0.3%
GLSL
0.2%