Go to file
Tyler Veness cf4c13af98 xwayland: set surface_id to 0 when client resource is found
When Xwayland requests that a wl_surface be created and the X event is
handled before the wayland requests, a surface ID is stored to
window->surface_id and the window is added to the unpaired window list. When
weston_wm_create_surface is called, the window is removed from the list and
window->surface_id is set to zero. If window->surface_id is not zero when
weston_wm_window_destroy is called, the window is assumed to be in the
unpaired window list and wl_list_remove is called. If
weston_wm_window_handle_surface_id is called and the surface has already
been created, the window is not added to the unpaired window list, but
window->surface_id isn't set to zero. When the window is destroyed, removing
the window from the list is attempted anyway and a crash occurs.

This patch stores the surface ID in a temporary variable and only assigns it
to window->surface_id when the window is added to the unpaired window list.
Otherwise window->surface_id is set to zero to maintain its use as a flag
variable.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=80273
Signed-off-by: Tyler Veness <calcmogul@gmail.com>
2014-07-24 13:13:55 -07:00
clients shell: Replace set_margin with set_window_geometry 2014-07-17 13:59:01 -07:00
data build: Move data/Makefile.am into Makefile.am 2014-01-31 23:49:39 -08:00
desktop-shell compositor: keep track of the weston_layer a weston_view is in 2014-07-23 12:34:33 -07:00
fullscreen-shell Add a wl_fullscreen_shell implementation 2014-04-02 21:25:56 -07:00
m4 weston-build: Fix aclocal error during autogen.sh 2014-06-21 10:33:21 -07:00
man compositor: add --no-config command line option 2014-05-09 15:00:01 -07:00
protocol xdg-shell: Fix documentation 2014-07-17 14:50:51 -07:00
shared cairo-util: Set geometry_dirty in frame_set_title 2014-07-05 01:05:07 -07:00
src compositor: add a masking mechanism to weston_layer 2014-07-23 12:34:33 -07:00
tests compositor: keep track of the weston_layer a weston_view is in 2014-07-23 12:34:33 -07:00
wcap wcap: Check for mmap and malloc return value in wcap decode module 2014-05-06 15:21:27 -07:00
xwayland xwayland: set surface_id to 0 when client resource is found 2014-07-24 13:13:55 -07:00
.gitignore Add a simple client for testing compositor damage handling 2014-06-18 10:45:50 -07:00
autogen.sh Update autotools configuration 2010-11-06 21:04:03 -04:00
configure.ac Use pixman_region32_clear instead of our own empty_region 2014-07-05 01:03:55 -07:00
COPYING Add COPYING 2012-04-25 10:17:42 -04:00
Makefile.am build: Silence libtoolize warnings 2014-06-18 17:14:40 -07:00
notes.txt Add informal notes file 2012-10-25 15:00:42 -04:00
README README: Fix typo; add link to testing docs 2014-02-05 17:20:24 -08:00
releasing.txt Add releasing.txt to describe the release steps and other bits of process 2014-05-23 10:13:59 -07:00
weston.ini.in screen-share: Allow fullscreen shell command to be configured 2014-06-25 09:05:39 -07:00

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.