mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2026-03-23 05:35:51 -04:00
This global allows the IPC library to upgrade the version of the wl_display global. To ensure maximum flexibility, there are strict requirements on the connection state at the time of the upgrade. In particular, after the compositor has destroyed the wl_display_upgrade object, the wl_display is the only object in the connection. Since there are many consumers of wl_display and wl_registry, and the version of these objects is fixed after the upgrade, care must be taken not to break any of these consumers. Since no consumer checks the version of these objects and there is no way to get a wl_registry with a lower version, incrementing the minor version cannot change the semantics of existing messages and no new events can be added to wl_registry. As an exception, new events can be added to wl_display since those events are handled internally by the IPC library which is also in charge of upgrading the version. An additional change that could be made in version 2 of wl_display is adding a wl_display.delete_server_id request, implementing symmetric delete_id. A global that wants to make full use of destructor events could then specify that the global must only be exposed on a wl_registry whose version (and therefore the version of the wl_display) is at least 2. Signed-off-by: Julian Orth <ju.orth@gmail.com> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| connection.c | ||
| embed.py | ||
| event-loop.c | ||
| meson.build | ||
| scanner.c | ||
| timespec-util.h | ||
| wayland-client-core.h | ||
| wayland-client.c | ||
| wayland-client.h | ||
| wayland-os.c | ||
| wayland-os.h | ||
| wayland-private.h | ||
| wayland-server-core.h | ||
| wayland-server-private.h | ||
| wayland-server.c | ||
| wayland-server.h | ||
| wayland-shm.c | ||
| wayland-util.c | ||
| wayland-util.h | ||
| wayland-version.h.in | ||