[neon/backports-noble/wayland-noble]: Summary of bulk changes made

KDE Git Services - Bulk Change null at kde.org
Tue Nov 12 12:36:12 GMT 2024


Git repository change summary for neon/backports-noble/wayland-noble
Pushed by jriddell into branch 'Neon/unstable'.
Changed from 71a474a3a2f224bc079d285fbce4ad4176e7b62f to 447f2f256899198fd52a200ab62a616929cd32ee
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 03dc786c906d9567bd09cbf4ad17263edc381cc8 by Kristian Høgsberg (on behalf of Tomeu Vizoso) on 29/07/2013 at 16:28..
protocol: Copy missing pixel formats from wl_drm to wl_shm
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/03dc786c906d9567bd09cbf4ad17263edc381cc8

Git commit c1fd097cd995ec02cfcf673fa243f95d4439bac2 by Kristian Høgsberg (on behalf of Jiergir Ogoerg) on 29/07/2013 at 23:50..
client: Simply wl_display_dispatch_queue_pending() and fix return value

We're supposed to return number of events dispatched on success, not 0.
Refactor to avoid goto and just return ret.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c1fd097cd995ec02cfcf673fa243f95d4439bac2

Git commit 1b0cabfc48cf4c13fec95f749d3b44050fe9ff79 by Kristian Høgsberg on 06/08/2013 at 16:51..
server: Handle OOM properly when we fail to allocate a send closure

If we can't allocate a closure, don't just silently continue.  Set
client->error so we shut down the client when we're done processing events.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1b0cabfc48cf4c13fec95f749d3b44050fe9ff79

Git commit dbeb5134fa8e612826d7c7d5b9146e89822c59fb by Kristian Høgsberg on 06/08/2013 at 17:16..
server: Set client->error when we fail to send a closure

We we're using wl_event_loop_add_idle() here, but if we're failing
because of OOM, that will typically also fail.  Instead, use the
existing client->error flag, which will break out of the event
handling loop and shut down the client.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dbeb5134fa8e612826d7c7d5b9146e89822c59fb

Git commit d9883a6be1688a716a235466a59f5c5432e87e65 by Kristian Høgsberg (on behalf of Tomeu Vizoso) on 06/08/2013 at 23:48..
shm: Add API for renderers to register additional pixel formats
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d9883a6be1688a716a235466a59f5c5432e87e65

Git commit 81555350affea0a7fba5894116b1ec178ac53827 by Kristian Høgsberg on 07/08/2013 at 16:17..
Don't include wayland-server.h in wayland-private.h

We just declare struct wl_display manually instead.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/81555350affea0a7fba5894116b1ec178ac53827

Git commit 2d1ed470d946ca8f8b988e3d11f642e85fa0a290 by Kristian Høgsberg (on behalf of Peter Hutterer) on 07/08/2013 at 23:24..
scanner: support help and --help

wayland-scanner without arguments prints out usage. With help or --help it
waits for stdin to supply something which isn't quite as informative as
printing out the help.

This patch also moves the strcmp for args up to have all of them in one
location.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2d1ed470d946ca8f8b988e3d11f642e85fa0a290

Git commit 2b26edb877d21a26721b0d1b0c676cf67be80ada by Kristian Høgsberg (on behalf of Peter Hutterer) on 07/08/2013 at 23:24..
scanner: expand help string

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2b26edb877d21a26721b0d1b0c676cf67be80ada

Git commit 6dd0ba0e32c616ed5fe91296d0adb3c04d0ca7cd by Kristian Høgsberg (on behalf of Peter Hutterer) on 07/08/2013 at 23:25..
scanner: check for wayland-scanner.pc before using variables

If wayland-scanner.pc can't be found the variables end up being set
irrespectively, leaving the user with odd compiler errors about missing
headers, etc.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6dd0ba0e32c616ed5fe91296d0adb3c04d0ca7cd

Git commit f26a322327309c9493ec932642131162d103ca66 by Kristian Høgsberg (on behalf of Tomeu Vizoso) on 08/08/2013 at 20:51..
server: Release additional_shm_formats array at display destruction
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f26a322327309c9493ec932642131162d103ca66

Git commit c7d2c0b4239b56142a1371a3b8a856e946dec1de by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:38..
publican: Cleanup Preface's grammar.

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c7d2c0b4239b56142a1371a3b8a856e946dec1de

Git commit 9fc867060f97507f9488f43196ca12f932d2de5f by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:38..
publican: Drop unneeded 'of'

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9fc867060f97507f9488f43196ca12f932d2de5f

Git commit eda474c77902be992426ff216ef5bb33fa4d3df2 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:39..
publican: Fix grammar several places in Protocol docs

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eda474c77902be992426ff216ef5bb33fa4d3df2

Git commit 65efa2ed3a3da215764857fee69eeed52faf6989 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:41..
client: Improve spelling and grammar in comments

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/65efa2ed3a3da215764857fee69eeed52faf6989

Git commit fecef1ca66443553440ba3e2c004c1842bbb00c9 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:41..
protocol: Fix typo by removing a redundant 'a'

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fecef1ca66443553440ba3e2c004c1842bbb00c9

Git commit 3d6470b1ef98448011401e3cb83b40b921354743 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:41..
protocol: Add missing d to 'x an y'

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3d6470b1ef98448011401e3cb83b40b921354743

Git commit b5e7f9caef9baa4a1177cbb22955c58044dc4aab by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:42..
protocol: Improve grammar for set class description

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b5e7f9caef9baa4a1177cbb22955c58044dc4aab

Git commit dbc41f0344ab26fda9cc4565531b81536f8b9493 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 09/08/2013 at 04:42..
protocol: Fix pluralization of user in popup_done description

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dbc41f0344ab26fda9cc4565531b81536f8b9493

Git commit 748c20c46f6c85203dc5582c9e7fce9fee7a1331 by Kristian Høgsberg (on behalf of Rob Bradford) on 12/08/2013 at 23:26..
wayland-server: Add a wl_resource_for_each macro

This macro allows you to correctly iterate through a list of resources
handling the opaque nature of this type.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/748c20c46f6c85203dc5582c9e7fce9fee7a1331

Git commit 4ad58fbb4a8eaa1852326df6cf71ad6e60dd891f by Kristian Høgsberg (on behalf of Rob Bradford) on 12/08/2013 at 23:26..
wayland-client: Add wl_proxy_get_listener

This is the mirror function to wl_proxy_add_listener and is useful
inside client libraries to differentiate events on listeners for which
multiple proxies have been created.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4ad58fbb4a8eaa1852326df6cf71ad6e60dd891f

Git commit f1696147381ac7f2977a5a0882a848d61074304a by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 13/08/2013 at 04:25..
protocol: Improve a bit of grammar for wl_surface::attach description

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f1696147381ac7f2977a5a0882a848d61074304a

Git commit 2cc551b1ece7db700591ea8e0990bf68e6aa2574 by Kristian Høgsberg (on behalf of Peter Hutterer) on 15/08/2013 at 21:42..
publican: only split chapters and top-level sections onto separate pages

When generating HTML, don't split once we're into subjections. This
generates a single page for each protocol interface instead of the previous
separate pages for requests, events and enums.
No effect on the rest of the HTML configuration.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2cc551b1ece7db700591ea8e0990bf68e6aa2574

Git commit 52de02348287fbc3ed24c00f154b3d9cb45830e7 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 19/08/2013 at 23:23..
doc: Update the ID alocation section

The method described of alocation IDs has been wrong at least since version
1.0.  This commit updates it to correspond to the way IDs are chosen in
versions >= 1.0.

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/52de02348287fbc3ed24c00f154b3d9cb45830e7

Git commit 6b8eef962f4d662d64c46439fc7b09278ccf2e0d by Kristian Høgsberg (on behalf of Jason Ekstrand) on 19/08/2013 at 23:23..
doc: Add a section on interface and protocol object versioning

There have been a lot of questions asked lately about versioning of
interfaces and protocol objects.  This addition to the documentation should
clear up some of those questions.

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6b8eef962f4d662d64c46439fc7b09278ccf2e0d

Git commit c44090908db1c4f1b0e87bda2e4fdaa6bc15c0d1 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 19/08/2013 at 23:23..
Add support for server-side language bindings

This commit adds support for server-side languages bindings.  This is done
in two ways:

1. Adding a wl_resource_set_dispatcher function that corresponds to
wl_resource_set_interface.  The only difference between the two functions
is that the new version takes a dispatcher along with the implementation,
data, and destructor.  This allows for runtime calling of native language
functions for callbacks instead of having to generate function pointers.

2. Adding versions of wl_resource_post_event and wl_resource_queue_event
that take an array of wl_argument instead of a variable argument list.
This allows for easier run-time argument conversion and removes the need
for libffi-based calling of variadic functions.

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c44090908db1c4f1b0e87bda2e4fdaa6bc15c0d1

Git commit eb947e9408c149041c4c8e1c80ef9ebea049f477 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 19/08/2013 at 23:23..
Add support for client-side language bindings

This commit adds support for language bindings on the client half of the
library.  The idea is the same as for server-side dispatchers.

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eb947e9408c149041c4c8e1c80ef9ebea049f477

Git commit ea1fb51aae9fee7d416a0f2ba617f998cdee696d by Kristian Høgsberg on 30/08/2013 at 22:46..
protocol: Add release requests for wl_pointer, wl_keyboard, and wl_touch

We missed destroy requests in the 1.0 protocol and since the scanner
generates local-only *_destroy requests in that case we can't add
destroy requests without breaking protocol.  A client needs to verify
that the server provides a version 3 seat to use the protocol destructor
so the name needs to be something else than wl_*_destroy.

v2 (Rob Bradford): Rebased, bumped the protocol versions and added since
attributes to the requests.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ea1fb51aae9fee7d416a0f2ba617f998cdee696d

Git commit b76a6968fcf3cec1d7f4c30ba67bb44b20c0ff03 by Kristian Høgsberg on 30/08/2013 at 22:53..
scanner: Emit wl_*_destroy stub even if interface has a destructor

If an interface has a destructor but no 'destroy' method we used to
not emit a destroy method.  Now with the fix for missing destroy
requests for wl_pointer etc we need to emit the local wl_*_destroy
always.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b76a6968fcf3cec1d7f4c30ba67bb44b20c0ff03

Git commit 10dcf86f7d5f61a683b60bf4e2cbad5268b9b498 by Kristian Høgsberg on 30/08/2013 at 22:53..
configure.ac: Bump version to 1.2.90 for master branch
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/10dcf86f7d5f61a683b60bf4e2cbad5268b9b498

Git commit cdea6698582ffb874b7ece91ad057bc1ac5aa27b by Kristian Høgsberg (on behalf of Aaron Faanes) on 11/09/2013 at 17:42..
wayland-server: Fix a uninitialized warning from clang

This warning is unnecessary, since the pointer in question is only used
for pointer arithmetic, but setting it explicitly to NULL doesn't hurt.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cdea6698582ffb874b7ece91ad057bc1ac5aa27b

Git commit 660f2d7accc6f546d45f6363fdbad10e9054b32a by Kristian Høgsberg (on behalf of Aaron Faanes) on 11/09/2013 at 17:52..
wayland-server: Document wl_signal
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/660f2d7accc6f546d45f6363fdbad10e9054b32a

Git commit a27b7304905bd5dc1aecd5afd8259a834e3da175 by Kristian Høgsberg (on behalf of Aaron Faanes) on 11/09/2013 at 17:53..
utils: tweak wl_list for better doxygen output
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a27b7304905bd5dc1aecd5afd8259a834e3da175

Git commit 656f3ea5b34cbaac3c00576226098279f953cee7 by Kristian Høgsberg (on behalf of Rob Bradford) on 11/09/2013 at 19:03..
wayland-server: Add a wl_resource_for_each_safe macro

A version of wl_resource_for_each that is safe for iteration when items
in the list are removed.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/656f3ea5b34cbaac3c00576226098279f953cee7

Git commit 9a5ed7877de5857790d332ba18f6031f070ddff1 by Kristian Høgsberg (on behalf of Chang Liu) on 11/09/2013 at 19:15..
gitignore: add ./compile

./compile is a GNU autotools helper script and should be ignored by git
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9a5ed7877de5857790d332ba18f6031f070ddff1

Git commit f8b27300395998866903277399d130febb3da1c8 by Kristian Høgsberg (on behalf of Aaron Faanes) on 17/09/2013 at 04:47..
wayland-server: Document wl_listener

This patch takes Kristian's comments into account, adding a demonstration and
giving a more thorough idea of how wl_listener is used.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8b27300395998866903277399d130febb3da1c8

Git commit bc30c5eb8a88f4e99555de72d4b098d1cb1efdf1 by Kristian Høgsberg (on behalf of Aaron Faanes) on 17/09/2013 at 04:59..
utils: Reference some useful methods in wl_signal's doxygen

This commit adds a bit more detail on the lifecycle of a signal.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bc30c5eb8a88f4e99555de72d4b098d1cb1efdf1

Git commit fffcdb25deb51bcb3698563f30c5b4882e3ff107 by Kristian Høgsberg (on behalf of Aaron Faanes) on 17/09/2013 at 04:59..
utils: Add doxygen for wayland-util.h

This is needed for doxygen to generate output for macro definitions, such
as wl_container_of, that are contained by this file. Classes like
wl_list would be documented regardless.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fffcdb25deb51bcb3698563f30c5b4882e3ff107

Git commit 5197aa30c81c076d018641fc6199d64431d518a4 by Kristian Høgsberg (on behalf of Aaron Faanes) on 17/09/2013 at 04:59..
wayland-server: Improve wording for wl_signal_get's doc

The old description was a bit vague; this commit hopefully improves
describing what is returned.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5197aa30c81c076d018641fc6199d64431d518a4

Git commit 2e3af5e5d71c3fca1b8823488985572a96ca1a0b by Kristian Høgsberg (on behalf of Aaron Faanes) on 17/09/2013 at 05:00..
doc: Include wayland-util.* for doxygen output

This commit creates a shared file list that is included by both the
client and the server for the XML Makefile targets, as classes within
util are used by both the client and the server.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2e3af5e5d71c3fca1b8823488985572a96ca1a0b

Git commit 217909c18d0a7f8a4e91c9a56ccec3b75ca6d532 by Kristian Høgsberg (on behalf of Aaron Faanes) on 21/09/2013 at 18:29..
doc: Create \comment alias for C-style comments

Since /* */ do not nest, documentation is forced to either use C++ style
// comments or some other foreign notation. This commit provides an alias
that allows C-style comments to be introduced in code blocks that support
aliases.

It should be noted that this macro will not work within \code blocks, as
Doxygen commands are ignored there. Instead, Doxygen's fenced code
blocks (created via ~~~) must be used for proper output. To demonstrate:

~~~
struct example_node {
        int id;
        \comment{Other members ...}
};
~~~

will roughly yield the following HTML (excluding syntax highlighting):

<pre>
struct example_node {
        int id;
        /* Other members ... */
};
</pre>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/217909c18d0a7f8a4e91c9a56ccec3b75ca6d532

Git commit 8267f283dccaf26ccb28a8161c5f4ff703c86cf0 by Kristian Høgsberg (on behalf of Aaron Faanes) on 21/09/2013 at 18:31..
utils: Document wl_container_of
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8267f283dccaf26ccb28a8161c5f4ff703c86cf0

Git commit 5a925532374ebb955bf7a51357b19314a74aeae5 by Kristian Høgsberg (on behalf of Aaron Faanes) on 21/09/2013 at 18:31..
doc: Slight tweaks to wl_listener

Prefer \comment over // in code blocks for consistency's sake and keep
variable definitions separated by a line from the rest of the body.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5a925532374ebb955bf7a51357b19314a74aeae5

Git commit 5cf31443c50fd0c2b2ebe6059f725d1c554c3647 by Kristian Høgsberg (on behalf of Chang Liu) on 21/09/2013 at 18:34..
client: fix an inconsistency in documentation

The errno is set to EAGAIN when there are undispatched events, according
to L1066 of wayland-client.c.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5cf31443c50fd0c2b2ebe6059f725d1c554c3647

Git commit ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0 by Kristian Høgsberg (on behalf of Marek Ch) on 21/09/2013 at 18:36..
tests: extended message when leak in test is detected

When memory or fd leak is detected, print how many blocks of memory were
allocated and not freed, respectively how many files were opened/unclosed.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0

Git commit 6f1569bd38d632fbc42062dcf3a564866bdd335f by Kristian Høgsberg (on behalf of Marek Ch) on 21/09/2013 at 18:37..
tests: add unit tests for wl_signal

Test wl_signal initialization, adding and getting listeners and emitting
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6f1569bd38d632fbc42062dcf3a564866bdd335f

Git commit b99edb8b7e0217f5457c08ae2ef6e4227ecaccab by Kristian Høgsberg (on behalf of Marek Ch) on 21/09/2013 at 18:38..
tests: add wl_resource tests
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b99edb8b7e0217f5457c08ae2ef6e4227ecaccab

Git commit ba90497b872720d42a63c090be24f339679c6706 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 22/09/2013 at 04:48..
Export the Wayland protocol XML file

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba90497b872720d42a63c090be24f339679c6706

Git commit 4125367f20d70cdf3c14f1bcafbf46e1c6e20835 by Kristian Høgsberg on 22/09/2013 at 21:12..
configure.ac: Bump version to 1.2.91
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4125367f20d70cdf3c14f1bcafbf46e1c6e20835

Git commit 799ea7206b3af987e5aae7d47f86643edbbb014d by Kristian Høgsberg (on behalf of Neil Roberts) on 25/09/2013 at 17:11..
client: Fix handling display->reader_count if poll fails

In wl_display_dispatch_queue, if poll fails then it would previously
return immediately and leak a reference in display->reader_count. Then
if the application ignores the error and tries to read again it will
block forever. This can happen for example if the poll fails with
EINTR which the application might consider to be a recoverable error.
This patch makes it cancel the read so the reader_count will be
decremented when poll fails.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/799ea7206b3af987e5aae7d47f86643edbbb014d

Git commit 260d73b449feb979d98de7d280593675f5bbddd0 by Kristian Høgsberg on 03/10/2013 at 05:14..
configure.ac: Bump version to 1.2.92
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/260d73b449feb979d98de7d280593675f5bbddd0

Git commit bb6f6faaa2acfebfe3658ae48951e1b84ed1fabf by Kristian Høgsberg on 08/10/2013 at 04:36..
scanner: Handle unrecognized invocation mode

Print usage if we don't recognize the invocation mode.  Also fixes
uninitialized variable warning.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bb6f6faaa2acfebfe3658ae48951e1b84ed1fabf

Git commit 2c3dbb89031f120fb191492634e53a583f99d57d by Kristian Høgsberg on 09/10/2013 at 23:20..
configure.ac: Bump version to 1.3
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2c3dbb89031f120fb191492634e53a583f99d57d

Git commit 33f630c90bea3c36f6edc90294f276d079afb56b by Héctor Orón Martínez on 11/10/2013 at 09:17..
Merge 1.3.0 upstream

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/33f630c90bea3c36f6edc90294f276d079afb56b

Git commit f2d1f2ce626eabfd0130bc78c3fc4f800cf061b9 by Héctor Orón Martínez on 11/10/2013 at 09:19..
Add myself to Uploaders.

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f2d1f2ce626eabfd0130bc78c3fc4f800cf061b9

Git commit e84a5f0e154cb51ee28ca0f6c420ef3d23a8fe98 by Héctor Orón Martínez on 11/10/2013 at 09:20..
Switch to Debian source format 3.0 quilt

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e84a5f0e154cb51ee28ca0f6c420ef3d23a8fe98

Git commit 8acacee030624378565b84bb6833cc36185fb429 by Héctor Orón Martínez on 11/10/2013 at 09:22..
Install wayland documentation in development package

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8acacee030624378565b84bb6833cc36185fb429

Git commit 11bc97fd1bb6af4acb0379e78a0994428a2ad516 by Héctor Orón Martínez on 11/10/2013 at 09:22..
Update libwayland-client0 symbols

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/11bc97fd1bb6af4acb0379e78a0994428a2ad516

Git commit 209114602ccec64332e2af7c2e96c5fe995a0896 by Héctor Orón Martínez on 11/10/2013 at 09:22..
Update libwayland-server0 symbols

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/209114602ccec64332e2af7c2e96c5fe995a0896

Git commit fab1fc06dab9fcb16b661cc5388de3b6cfaa5e31 by Héctor Orón Martínez on 11/10/2013 at 09:26..
Release debian version 1.3.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fab1fc06dab9fcb16b661cc5388de3b6cfaa5e31

Git commit 84247b7513abd03720438192c0cd2a815a294dec by Kristian Høgsberg (on behalf of José Bollo) on 11/10/2013 at 17:04..
protocol: Fix typo in documentation
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/84247b7513abd03720438192c0cd2a815a294dec

Git commit deddea6549af5f9c4f700b0949c2cb6393edb1bb by Kristian Høgsberg on 21/10/2013 at 21:39..
wayland: Be consistent about #include-guard names

We had a mix of inconsistent names, some of which were non-conformant.
Standardize on all-uppercase-and-underscore naming convention.

https://bugs.freedesktop.org/show_bug.cgi?id=70679
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/deddea6549af5f9c4f700b0949c2cb6393edb1bb

Git commit 16b2dab4e48462102d9990520562b0a9de2f9812 by Kristian Høgsberg on 23/10/2013 at 16:25..
configure.ac: Bump version to 1.3.90 for the master branch
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/16b2dab4e48462102d9990520562b0a9de2f9812

Git commit 05f95c85c8cad07bee233f1d4e205a12538365e1 by Kristian Høgsberg (on behalf of Peter Hutterer) on 25/10/2013 at 17:58..
protocol: validate the protocol against a dtd

The scanner is not very forgiving if the protocol doesn't match it's
expectations and crashes without much of a notice. Thus, validate the protocol
against a DTD.

Move the protocol subdir forward so we validate first before trying anything
else, and install the DTD so we can validate weston's protocols as well.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/05f95c85c8cad07bee233f1d4e205a12538365e1

Git commit cf4f5995dce400b2feaf9875d5bbc7c42a99f905 by Kristian Høgsberg (on behalf of Neil Roberts) on 14/11/2013 at 00:31..
server: Add API to protect access to an SHM buffer

Linux will let you mmap a region of a file that is larger than the
size of the file. If you then try to read from that region the process
will get a SIGBUS signal. Currently the clients can use this to crash
a compositor because it can create a pool and lie about the size of
the file which will cause the compositor to try and read past the end
of it. The compositor can't simply check the size of the file to
verify that it is big enough because then there is a race condition
where the client may truncate the file after the check is performed.

This patch adds the following two public functions in the server API
which can be used wrap access to an SHM buffer:

void wl_shm_buffer_begin_access(struct wl_shm_buffer *buffer);
void wl_shm_buffer_end_access(struct wl_shm_buffer *buffer);

The first time wl_shm_buffer_begin_access is called a signal handler
for SIGBUS will be installed. If the signal is caught then the buffer
for the current pool is remapped to an anonymous private buffer at the
same address which allows the compositor to continue without crashing.
The end_access function will then post an error to the buffer
resource.

The current pool is stored as part of some thread-local storage so
that multiple threads can safely independently access separate
buffers.

Eventually we may want to add some more API so that compositors can
hook into the signal handler or replace it entirely if they also want
to do some SIGBUS handling.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cf4f5995dce400b2feaf9875d5bbc7c42a99f905

Git commit b583b54560391d73cd1eb3bfe2581d3695d01019 by Kristian Høgsberg on 14/11/2013 at 05:11..
server: Start documenting the server side API

This is now public, stable API, so it seems prudent to actually document it.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b583b54560391d73cd1eb3bfe2581d3695d01019

Git commit 3470fa17b5fcd8c0e88ed0dabf375c4bae543ea4 by Kristian Høgsberg on 15/11/2013 at 22:44..
scanner: Warn about requests with more than one new-id and don't generate stubs

The generated code only support one new-id per request, since the stubs
return the new proxy.  It's still possible to send requests with multiple
new-id arguments, but it must be done with
wl_proxy_marshal_array_constructor().
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3470fa17b5fcd8c0e88ed0dabf375c4bae543ea4

Git commit db8ae8903fc605b42fdacd8b70df3516afa96f3e by Kristian Høgsberg on 15/11/2013 at 22:44..
scanner: Introduce struct location for tracking source locations
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/db8ae8903fc605b42fdacd8b70df3516afa96f3e

Git commit 5a4dd7649553524b3229038b351d24f87f3e5740 by Kristian Høgsberg on 15/11/2013 at 22:44..
scanner: Make fail() function use va_list and elaborate a few errors
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5a4dd7649553524b3229038b351d24f87f3e5740

Git commit a71cf48ce0d92d891461fd2a2da05860b418dcee by Kristian Høgsberg on 15/11/2013 at 22:44..
scanner: Add location to elements so we can give better errors/warnings
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a71cf48ce0d92d891461fd2a2da05860b418dcee

Git commit c2bba88ccd68c5ea6792a875499cec276db594f8 by Kristian Høgsberg (on behalf of Neil Roberts) on 15/11/2013 at 22:46..
Add documentation for wl_shm_buffer_begin/end_access

It's not obvious that these functions are needed so it would be good
to have some documentation for them.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c2bba88ccd68c5ea6792a875499cec276db594f8

Git commit 4a196570a3f528e9092014f8320f4a2bb4aba680 by Kristian Høgsberg (on behalf of Lubomir Rintel) on 16/11/2013 at 00:21..
shm: Avoid file descriptor leak upon unsuccessful mmap

It would be possible to make the compositor leak file descriptors by
passing descriptors of open unmmapable files to it, such as /dev/null.

Signed-off-by: Lubomir Rintel <lkundrak at v3.sk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a196570a3f528e9092014f8320f4a2bb4aba680

Git commit 81c57614d11787c00b8859cbaef650e284b4f188 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 16/11/2013 at 04:49..
protocol: add sub-surfaces to the core

The sub-surface protocol was originally committed into Weston on May
10th, 2013, in commit 2396aec6842c709a714f3825dbad9fd88478f2e6. The
design for the protocol had started in the beginning of December 2012. I
think it is high time to move this into the core now.

This patch copies the sub-surface protocol as it was in Weston on Nov
15th, 2013, into Wayland. Weston gets a patch to remove the protocol from
there.

Sub-surface is a wl_surface role. You create a wl_surface as usual, and
assign it the sub-surface role and a parent wl_surface. Sub-surfaces are
an integral part of the parent surface, and stay glued to the parent.
For window management, a window is the union of the top-level
wl_surface and all its sub-surfaces. Sub-surfaces are not clipped to the
parent, and the union of the surface tree can be larger than the
(top-level) wl_surface at its root.

The representative use case for sub-surfaces is a video player window.
When the video content is given its own wl_surface, there is no need to
modify the video frame contents after decoding or copy them into a whole
window sized buffer before submitting it to the compositor. This allows
efficient, zero-copy video presentation paths, where video decoding
hardware produces a (YUV) buffer, which eventually ends up in a
(YUV-capable) hardware overlay and is scanned out directly.

This can also be used for zero-copy presentation of windowed OpenGL
content, where the OpenGL rendering engine does not need to draw or
avoid window decorations.

Sub-surfaces allow mixing different buffer types into the same window,
e.g. software-rendered decorations in wl_shm buffers, and live content
in EGL-based buffers.

However, the sub-surface extension does not offer clipping or scaling
facilities, or accurate presentation timing. Those are topics for
additional extensions.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/81c57614d11787c00b8859cbaef650e284b4f188

Git commit 853c24e6998f747150e4233cf41bfa8268964cc2 by Kristian Høgsberg on 16/11/2013 at 04:49..
client: Introduce functions to allocate and marshal proxies atomically

The server requires clients to only allocate one ID ahead of the previously
highest ID in order to keep the ID range tight.  Failure to do so will
make the server close the client connection.  However, the way we allocate
new IDs is racy.  The generated code looks like:

  new_proxy = wl_proxy_create(...);
  wl_proxy_marshal(proxy, ... new_proxy, ...);

If two threads do this at the same time, there's a chance that thread A
will allocate a proxy, then get pre-empted by thread B which then allocates
a proxy and then passes it to wl_proxy_marshal().  The ID for thread As
proxy will be one higher that the currently highest ID, but the ID for
thread Bs proxy will be two higher.  But since thread B prempted thread A
before it could send its new ID, B will send its new ID first, the server
will see the ID from thread Bs proxy first, and will reject it.

We fix this by introducing wl_proxy_marshal_constructor().  This
function is identical to wl_proxy_marshal(), except that it will
allocate a wl_proxy for NEW_ID arguments and send it, all under the
display mutex.  By introducing a new function, we maintain backwards
compatibility with older code from the generator, and make sure that
the new generated code has an explicit dependency on a new enough
libwayland-client.so.

A virtual Wayland merit badge goes to Kalle Vahlman, who tracked this
down and analyzed the issue.

Reported-by: Kalle Vahlman <kalle.vahlman at movial.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/853c24e6998f747150e4233cf41bfa8268964cc2

Git commit 148478323fa67c8a30481f4fd8d3c06ea9fb258e by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 19/11/2013 at 21:26..
Update .gitignore for protocol/
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/148478323fa67c8a30481f4fd8d3c06ea9fb258e

Git commit 40d057f2c90eaeffd6185078b25a0e0ff861f2a8 by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 19/11/2013 at 21:26..
wayland-server: Improve error messages for bad globals

A bug in Weston's toytoolkit gave me an hour of debugging headaches.
Improve the error messages that we send if a client requests an invalid
global, either by name or by version.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/40d057f2c90eaeffd6185078b25a0e0ff861f2a8

Git commit 360dca517a8ae58f9709420b0570b4e36a1ffa3f by Kristian Høgsberg (on behalf of Lubomir Rintel) on 22/11/2013 at 06:01..
connection: Error out if file descriptor was not received

Otherwise the tail of fds_in buffer would just shift beyond the beginning.
That confuses the actual request handler and results in a crash further on
due to corrupted tail.

Signed-off-by: Lubomir Rintel <lkundrak at v3.sk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/360dca517a8ae58f9709420b0570b4e36a1ffa3f

Git commit 5a019e38a1316a31072a9cb6de8da4377f3cfad5 by Kristian Høgsberg on 23/11/2013 at 20:24..
Add -pthread to AM_CFLAGS to do the right thing when using threads

https://bugs.freedesktop.org/show_bug.cgi?id=71633
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5a019e38a1316a31072a9cb6de8da4377f3cfad5

Git commit 011b6954031a25de8d9eb39631b6837553bb3cfb by Kristian Høgsberg (on behalf of Pekka Paalanen) on 03/12/2013 at 00:18..
os: use posix_fallocate in creating sharable buffers

If posix_fallocate is available, use it instead of ftruncate. Unlike
ftruncate, when posix_fallocate succeeds, it guarantees that you cannot
run out of disk space, when later writing to the mmap()'ed file.

With posix_fallocate, if os_create_anonymous_file() succeeds, the
program cannot get a SIGBUS later from accessing this file via mmap. If
there is insufficient disk space, the function fails and errno is set to
ENOSPC.

This is useful on systems, that limit the available buffer space by
having XDG_RUNTIME_DIR on a small tmpfs.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/011b6954031a25de8d9eb39631b6837553bb3cfb

Git commit 3b3e81f42e0bf05e606f40ac0145977766283548 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 03/12/2013 at 00:19..
cursor: handle running out of buffer space

If posix_fallocate is available, use it to detect when we are running
out of buffer space.

Propagate the failure properly through the various functions, stopping
loading cursors but keeping the cursors that were already successfully
loaded.

This may result in an animated cursor not having all of its images, or a
cursor theme not having all of its cursors. When that happens, the
failure is NOT communicated to the application. Instead, the application
will get NULL from wl_cursor_theme_get_cursor() for a cursor that was
not loaded successfully. If an animated cursor is missing only some
images, the animation is truncated but the cursor is still available.

This patch relies on the commit "os: use posix_fallocate in creating
sharable buffers" for defining HAVE_POSIX_FALLOCATE.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3b3e81f42e0bf05e606f40ac0145977766283548

Git commit 1521c62a31664d7372f5a987bd7f34574bd0c7d6 by Kristian Høgsberg (on behalf of Neil Roberts) on 05/12/2013 at 01:01..
client: Make wl_proxy_set_queue() with NULL revert to default queue

This will be useful in order to implement the
EGL_WL_create_wayland_buffer_from_image extension. The buffers created
within Mesa's Wayland platform are created using the the wl_drm object
as a proxy factory which means they will be set to use Mesa's internal
event queue. However, these buffers will be owned by the client
application so they ideally need to use the default event loop. This
function provides a way to set the proxy's event queue back to the
default.

krh: Edited from Neils original patch to just use wl_proxy_set_queue() with
a NULL argument instead of introducing a new function.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1521c62a31664d7372f5a987bd7f34574bd0c7d6

Git commit c30208f0b7ae964ad14546936d8320b61a506653 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/12/2013 at 23:43..
doc: Remove incorrect docmentation

The documentation was about wl_client_get_object(), not about
wl_resource_get_client().

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c30208f0b7ae964ad14546936d8320b61a506653

Git commit 09877f3231623cca65ca08f3a3a694b2af495c80 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/12/2013 at 23:50..
doc: Fix spelling of parameters

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/09877f3231623cca65ca08f3a3a694b2af495c80

Git commit 1a58c7f2115a982a9156779bb6141acd303ddef5 by Kristian Høgsberg on 10/12/2013 at 00:19..
client: Handle EINTR in wl_display_dispatch_queue()

Restart the poll() if we take a signal.  This is easily triggered in
an application that ends up blocking in eglSwapBuffers(), and causes EGL
to fail to allocate a back buffer.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1a58c7f2115a982a9156779bb6141acd303ddef5

Git commit 01bde6319f49ba9c943b1edad32efa10336b4685 by Kristian Høgsberg on 17/12/2013 at 07:51..
configure.ac: Bump version to 1.3.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/01bde6319f49ba9c943b1edad32efa10336b4685

Git commit cd0dccd01e16fa404e03974d30ded3aebdb1c4bc by Kristian Høgsberg (on behalf of Adrian Negreanu) on 17/12/2013 at 18:57..
scanner: set errno=0 before strtol

POSIX says to set errno=0 before calling strtol since
the return value alne cannot tell a failure.

on ubuntu armel I get:

  ../src/wayland-scanner client-header < ../../protocol/wayland.xml > wayland-client-protocol.h
  <stdin>:1188: error: invalid integer (2)

Signed-off-by: Adrian Negreanu <adrian.m.negreanu at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cd0dccd01e16fa404e03974d30ded3aebdb1c4bc

Git commit c102c20f01c84abde71b7f208aae9b232226da1e by Kristian Høgsberg (on behalf of chi ding) on 09/01/2014 at 22:27..
Fix buffer overflow when serializing a closure object

Here is the JIRA page of this issue
https://bugs.tizen.org/jira/browse/TIVI-1889

Change-Id: I773a6d2d8f6fd02ff10c92450db1fa8a69544219
Signed-off-by: Chi Ding <chi.ding at mobica.com>
Closes: https://bugs.freedesktop.org/show_bug.cgi?id=65186
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c102c20f01c84abde71b7f208aae9b232226da1e

Git commit 8a781aef0ebf8d5be4116fa40d9155af4ba61257 by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 10/01/2014 at 23:50..
xwayland: Add .gitignore
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8a781aef0ebf8d5be4116fa40d9155af4ba61257

Git commit f97df69ee2b8981533358b6f62fadb8c0e18a278 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
shm: assert sigbus_data is not NULL before member access

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f97df69ee2b8981533358b6f62fadb8c0e18a278

Git commit fcf5f06b7d335d9811dddab6572ba495f74c5838 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
array-test: assert wl_array_add result is not NULL

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fcf5f06b7d335d9811dddab6572ba495f74c5838

Git commit 3a1be1e6fea34fa87f9329d7bf06bd40340f754f by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
connection-test: assert closure is not NULL before invoking it

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3a1be1e6fea34fa87f9329d7bf06bd40340f754f

Git commit 5e096ccc947ca46cd23a6b0e72e13452fccc81f8 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
event-loop-test: assert non-NULL results

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e096ccc947ca46cd23a6b0e72e13452fccc81f8

Git commit e0c58cea4e2bab27f825a9cbe59e81d5c1865472 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
os-wrappers-test: assert closure is not NULL before invoking it

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e0c58cea4e2bab27f825a9cbe59e81d5c1865472

Git commit 22a4a95873a4ccfc1c986761782b666442dd244a by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
queue-test: assert non-NULL return values

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/22a4a95873a4ccfc1c986761782b666442dd244a

Git commit c0218227fedf12272db39b088aed45198daf5ada by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
resources-test: assert non-NULL return values

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c0218227fedf12272db39b088aed45198daf5ada

Git commit 7d96da1e651a046e8f688da1aebf45e52aed9096 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
cursor: free theme->name too

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7d96da1e651a046e8f688da1aebf45e52aed9096

Git commit d6c6f2977de84d54395def96e18a448ae68bf711 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
cursor: check for memory allocation errors

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d6c6f2977de84d54395def96e18a448ae68bf711

Git commit 02952d040cce73c167eaaafe94748a253cd74f02 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
xcursor: don't proceed if XcursorImageCreate failed

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/02952d040cce73c167eaaafe94748a253cd74f02

Git commit 32b2baaf511b982b5af1555b511a2b2abaf7ae7d by Kristian Høgsberg (on behalf of U. Artie Eoff) on 15/01/2014 at 18:46..
add_shm_format: check wl_array_add return value before deref

In wl_display_add_shm_format(), check the return value from
wl_array_add() before dereferencing it and assigning it a value.
Return the resulting pointer back to the caller.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/32b2baaf511b982b5af1555b511a2b2abaf7ae7d

Git commit ed139ddcd79c4aec0beb98de1af5e82f0c6699aa by Kristian Høgsberg (on behalf of Jonas 'Sortie' Termansen) on 17/01/2014 at 19:27..
client: Include poll.h instead of sys/poll.h

POSIX mandates the poll.h header as the standard location of poll(2).
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed139ddcd79c4aec0beb98de1af5e82f0c6699aa

Git commit e209701ca02e127c0eaf0fe5726e35bfd80a1440 by Héctor Orón Martínez on 18/01/2014 at 17:15..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e209701ca02e127c0eaf0fe5726e35bfd80a1440

Git commit 4a0c6c0e02c7cb9049b131437f9c991b1bf845bc by Héctor Orón Martínez on 18/01/2014 at 17:17..
Bump changelog

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a0c6c0e02c7cb9049b131437f9c991b1bf845bc

Git commit d4805e10f74a8ef7d2d1de2e19f204c68c6941d1 by Héctor Orón Martínez on 18/01/2014 at 17:48..
Update symbols

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d4805e10f74a8ef7d2d1de2e19f204c68c6941d1

Git commit 2f90ef989a2295c46ec116d62489950a7ce079b5 by Héctor Orón Martínez on 18/01/2014 at 17:48..
debian/libwayland-dev.install: install wayland.dtd

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f90ef989a2295c46ec116d62489950a7ce079b5

Git commit 412171820121bdd495816e2c2f70c6fc654aaa6d by Héctor Orón Martínez on 18/01/2014 at 17:48..
Update configure.ac for release 1.3.92

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/412171820121bdd495816e2c2f70c6fc654aaa6d

Git commit 65df8a48ae8677acc8b611eb7aa74216572b19d4 by Héctor Orón Martínez on 18/01/2014 at 18:01..
Rework upstream release information

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/65df8a48ae8677acc8b611eb7aa74216572b19d4

Git commit 25701434cbbf503533b9fe540348a2a3258f9c9c by Héctor Orón Martínez on 18/01/2014 at 23:53..
add wayland DTD and XML under default dtddir

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/25701434cbbf503533b9fe540348a2a3258f9c9c

Git commit 1b6f375364d18e521ae993154992a8cda0df1bf3 by Kristian Høgsberg on 19/01/2014 at 18:03..
Revert "xwayland: Add .gitignore"

I accidentally committed Jaspers xserver patch to wayland.

This reverts commit 8a781aef0ebf8d5be4116fa40d9155af4ba61257.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1b6f375364d18e521ae993154992a8cda0df1bf3

Git commit 45087064bc31003fe36be5ca77f2b1f66516f457 by Kristian Høgsberg on 20/01/2014 at 05:58..
configure.ac: Bump version to 1.3.93

This is the release candidate.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/45087064bc31003fe36be5ca77f2b1f66516f457

Git commit b5fb898e92add82f577367fca9091040cd29e3d9 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 20/01/2014 at 06:42..
protocol: Clarify semantics of sub-surface placement requests

Clarify some semantics of wl_subsurface.place_below and
wl_subsurface.place_below that were not specified.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Jasper St. Pierre <jstpierre at mecheye.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b5fb898e92add82f577367fca9091040cd29e3d9

Git commit 47bbc6bb9c10409a0bab5110baee50c78c9e9bd5 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 20/01/2014 at 06:43..
protocol: Clarify semantics of wl_subsurface.set_position

Make it clear that multiple requests before commit are allowed and how it
is handled.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Jasper St. Pierre <jstpierre at mecheye.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/47bbc6bb9c10409a0bab5110baee50c78c9e9bd5

Git commit 3b8a1c7fed80dc9465115888610b82cd2fed1bd0 by Kristian Høgsberg on 20/01/2014 at 23:07..
resources-test: Don't send invalid event

Even if nothing receives the even, the arguments still need to be valid.
The test is sending out event 0 from the wl_display interface, which is
the error event.  This requires arg 0 to be a valid object and arg 2 to
be a non-null string.  The test just leaves that undefined, causing
intermittent test failures.

As it is, the resource destroy test doesn't need to send an event to
validate the various resource destroy hooks, so we can just remove the
call to wl_resource_post_event() alltogether.

Thanks to Matt Turner <mattst88 at gmail.com> for pointing out the failure.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3b8a1c7fed80dc9465115888610b82cd2fed1bd0

Git commit 4b4cd00621d64311a64108cc921e25e0c9e4767b by Kristian Høgsberg on 24/01/2014 at 04:50..
configure.ac: Bump version to 1.4
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4b4cd00621d64311a64108cc921e25e0c9e4767b

Git commit 65ae2c8cfc13c188e00c58a7bed094441eb53a27 by Héctor Orón Martínez on 30/01/2014 at 21:38..
Revert configure.ac change when releasing version 1.3.92

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/65ae2c8cfc13c188e00c58a7bed094441eb53a27

Git commit be5f823664dadd0a93c35183ae01b085e6dbea4e by Héctor Orón Martínez on 30/01/2014 at 21:39..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be5f823664dadd0a93c35183ae01b085e6dbea4e

Git commit 2c6647b66e91a467238f326d97999abea9ffe3be by Héctor Orón Martínez on 30/01/2014 at 21:49..
Prepare for new release 1.4.0

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2c6647b66e91a467238f326d97999abea9ffe3be

Git commit 1c41085bb851c79768c86d6ab62ec7318c06e0e0 by Héctor Orón Martínez on 30/01/2014 at 21:50..
d/control: Further bump the libwayland0 C/R

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1c41085bb851c79768c86d6ab62ec7318c06e0e0

Git commit 38b59b92bee4cdb33a502dff3647920c24e40450 by Héctor Orón Martínez on 30/01/2014 at 22:00..
Bump standards version

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/38b59b92bee4cdb33a502dff3647920c24e40450

Git commit 4e3bbbbadab18cb2e60e5b06a59ad5a5928ea985 by Héctor Orón Martínez on 30/01/2014 at 22:50..
Release version 1.4.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4e3bbbbadab18cb2e60e5b06a59ad5a5928ea985

Git commit 91974dad1c8e0e774e9fda87adffeab1c0e6104a by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 31/01/2014 at 21:10..
protocol: Fix the name of the registry argument

A simple copy-paste typo.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/91974dad1c8e0e774e9fda87adffeab1c0e6104a

Git commit 338dbd76194fa58b4b443def006e986f64f10769 by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 31/01/2014 at 21:10..
protocol: Fix documentation for the parameter of wl_callback

The parameter here is an opaque integer, rather than the event serial.
The "frame" callback uses this to pass the current time of day in
milliseconds.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/338dbd76194fa58b4b443def006e986f64f10769

Git commit bab7f46d83fc7890202966dc62d61d95480d7709 by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 31/01/2014 at 21:35..
protocol: Fix build

"data" is the name of the void* argument in the implementation.
While we probably shouldn't use such an easily-collidable name,
just rename the callback's argument to callback_data for now.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bab7f46d83fc7890202966dc62d61d95480d7709

Git commit a18e34417ba3fefeb81d891235e8ebf394a20a74 by Kristian Høgsberg (on behalf of Neil Roberts) on 06/02/2014 at 01:21..
Don't deref the sample pointer in the wl_container_of macro

The previous implementation of the wl_container_of macro was
dereferencing the sample pointer in order to get an address of the
member to calculate the offset. Ideally this shouldn't cause any
problems because the dereference doesn't actually cause the address to
be read from so it shouldn't matter if the pointer is uninitialised.
However this is probably technically invalid and could cause undefined
behavior. Clang appears to take advantage of this undefined behavior
and doesn't bother doing the subtraction. It also gives a warning when
it does this.

The documentation for wl_container_of implies that it should only be
given an initialised pointer and if that is done then there is no
problem with clang. However this is quite easy to forget and doesn't
cause any problems or warnings with gcc so it's quite easy to
accidentally break clang.

To fix the problem this changes the macro to use pointer -
offsetof(__typeof__(sample), member) so that it doesn't need to deref
the sample pointer. This does however require that the __typeof__
operator is supported by the compiler. In practice we probably only
care about gcc and clang and both of these happily support the
operator.

The previous implementation was also using __typeof__ but it had a
fallback path avoiding it when the operator isn't available. The
fallback effectively has undefined behaviour and it is targetting
unknown compilers so it is probably not a good idea to leave it in.
Instead, this patch just removes it. If someone finds a compiler that
doesn't have __typeof__ but does work with the old implementation then
maybe they could add it back in as a special case.

This patch removes the initialisation anywhere where the sample
pointer was being unitialised before using wl_container_of. The
documentation for the macro has also been updated to specify that this
is OK.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a18e34417ba3fefeb81d891235e8ebf394a20a74

Git commit 8fd2520d80eb8e23486134c517ecc03b799ac79d by Kristian Høgsberg (on behalf of Jason Ekstrand) on 06/02/2014 at 04:54..
Rename wl_debug to debug_server/client

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8fd2520d80eb8e23486134c517ecc03b799ac79d

Git commit a7524ed0d4cc4fcf8a0c5201618a4dfcd20f9499 by Kristian Høgsberg on 07/02/2014 at 23:57..
Make default log handler print to stderr

On the client side we log fatal errors before we exit.  If a client doesn't
set a log handler, it's hard to figure out what goes wrong.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a7524ed0d4cc4fcf8a0c5201618a4dfcd20f9499

Git commit a9eb563fb7aa194ac3a29f335d0a1ae3dcdb72ee by Kristian Høgsberg on 08/02/2014 at 00:00..
client: Rename display->queue to default_queue

We'll add a new queue next, so rename the default queue first.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a9eb563fb7aa194ac3a29f335d0a1ae3dcdb72ee

Git commit b9eebce0aa5559855d835e403ba3bb5960baaadc by Kristian Høgsberg on 08/02/2014 at 00:50..
client: Queue display events on private queue and always dispatch

The wl_display events (error and delete_id) need to be handled even
if the default queue doesn't get dispatched for a while.  For example,
a busy EGL rendering loop hits wl_display.sync every eglSwapBuffers()
and we need to process the delete_id events to maintain the object ID
data structure.

As it is, that doesn't happen, but with this change we special case
wl_display events.  We put them on a custom, private queue and when
dispatching events, we always dispatch display_queue events first.
The wl_display proxy should still be the default_queue, so that objects
created from wl_display requests get assigned to that.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b9eebce0aa5559855d835e403ba3bb5960baaadc

Git commit f8b37449b25e4e63bc6f227bf12e8553f35ae0e9 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/02/2014 at 05:08..
protocol: when buffer transform and scale change

Clarify when the pending and current buffer transform and scale values
change, and what exactly happens on commit.

This matches what Weston currently does.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8b37449b25e4e63bc6f227bf12e8553f35ae0e9

Git commit ac188e9e44f5f852ec6163d269979f725ce73b57 by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 18/02/2014 at 21:39..
wayland-client: Set a proper errno

errno is supposed to be positive, not negative. It seems that
everything else that calls display_fatal_error() calls it with
a positive error code, so do it here as well.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ac188e9e44f5f852ec6163d269979f725ce73b57

Git commit 859b3e41f5529fefee5a5f866f257f8ae5def950 by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 18/02/2014 at 22:28..
scanner: Add GCC pragmas to disable -Wredundant-decls

The code very intentionally emits a lot of redundant declarations
to simplify the scanner code. Somebody building with -Wredundant-decls
would have compile errors, so emit special pragmas to turn those
warnings off.

These pragmas should be ignored outside of gcc/clang.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/859b3e41f5529fefee5a5f866f257f8ae5def950

Git commit 52a77fca573705b6ac9b0e23747feea83740ab2f by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 18/02/2014 at 22:45..
connection: Use wl_log to report errors

In some cases, like Xwayland, stdout and stderr are redirected to
/dev/null, losing us valuable information, while wl_log can be
overridden, allowing us to send it to a log file instead. This
can help debugging immensely.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/52a77fca573705b6ac9b0e23747feea83740ab2f

Git commit 6292fe2af6a45decb7fd39090e74dd87bc4e22b2 by Kristian Høgsberg on 18/02/2014 at 22:52..
build: Stop using xmllint to validate protocol files

Same reason as commit cd31275f28b0a04d2ec5426dc81e875197b47e52 from weston:

    The scanner needs to be good enough.  If it crashes or fails to report
    invalid input, that needs to get fixed.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6292fe2af6a45decb7fd39090e74dd87bc4e22b2

Git commit bb5344ee6d404095ddb70195b0b4f749d460d989 by Kristian Høgsberg on 18/02/2014 at 22:55..
build: Move protocol/ Makefile.am into toplevel Makefile.am

A small step towards non-recursive build system for wayland too.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bb5344ee6d404095ddb70195b0b4f749d460d989

Git commit 267b28887dffa47eeb79bb4d6e737979b6fc3cc3 by Kristian Høgsberg on 07/03/2014 at 07:15..
build: Move cursor Makefile.am into toplevel Makefile.am
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/267b28887dffa47eeb79bb4d6e737979b6fc3cc3

Git commit 4c163b9b001bd93aaf97d7e962873a379eb90bfd by Kristian Høgsberg on 07/03/2014 at 19:50..
build: Move src/Makefile.am into toplevel Makefile.am
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4c163b9b001bd93aaf97d7e962873a379eb90bfd

Git commit 7ecb102409f30be29f157f9dd300b9f8860c7b85 by Kristian Høgsberg on 07/03/2014 at 20:00..
build: Move tests/Makefile.am into toplevel Makefile.am
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7ecb102409f30be29f157f9dd300b9f8860c7b85

Git commit bb41c5744667b607773ae4ada876e58e512c9739 by Kristian Høgsberg on 07/03/2014 at 20:00..
build: Consolidate scanner build rules
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bb41c5744667b607773ae4ada876e58e512c9739

Git commit 1e716d6fcfb1d5ea1eb649043b9f71f776e9350a by Kristian Høgsberg on 07/03/2014 at 22:02..
build: Generated protocol files live in protocol/ now

Fix up the references in include_HEADERS.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1e716d6fcfb1d5ea1eb649043b9f71f776e9350a

Git commit be75659ad1e2236e79a6622785954aeb7c33c86e by Kristian Høgsberg on 08/03/2014 at 00:02..
build: Include protocol/ so we pick up generated headers
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be75659ad1e2236e79a6622785954aeb7c33c86e

Git commit d533839735b9dccdfe7819f13eb3c73fe5c81ced by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/03/2014 at 20:10..
build: depend on generated protocol headers

Fixes the build failure where the protocol headers were not generated at
all before compiling src/.libs/libwayland_server_la-wayland-server.o.

The failure was reproducable by starting fresh with 'git clean -dxf' and
not having any wayland headers installed system-wide.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d533839735b9dccdfe7819f13eb3c73fe5c81ced

Git commit 538ee6bed6017e02862cef5054813d210778192a by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/03/2014 at 20:10..
doc: do not rebuild man pages if they are up to date

The doxygen.man make target was not a real file that was generated,
therefore the man page rule was ran on every make invocation. Replace it
with a real file that is produced by the man page rule.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/538ee6bed6017e02862cef5054813d210778192a

Git commit 52a531b4df51306b728f90488a80cb24163a96d8 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/03/2014 at 20:11..
build: hide doxygen commands with AM_V_GEN

I suppose the purpose was to print just one GEN line for each doxygen
rule being executed, not print the doxygen command.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/52a531b4df51306b728f90488a80cb24163a96d8

Git commit 9cfffffe07ff9b47df1233420780a1c179c1838a by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/03/2014 at 20:11..
update .gitignore

Makes 'git status' clean again after a successful 'make distcheck'.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9cfffffe07ff9b47df1233420780a1c179c1838a

Git commit 2c319d341b58e57593f7829cf0c7d608f43089dd by Kristian Høgsberg (on behalf of Pekka Paalanen) on 11/03/2014 at 16:09..
protocol: try to clarify frame callback semantics

"the callback event will arrive after the next output refresh" is wrong,
if you interpret "output refresh" as framebuffer flip or the moment when
the new pixels turn into light the first time. Weston has probably never
worked this way.

Weston triggers the frame callbacks when it submits repainting commands
to the GPU, which is before the framebuffer flip.

Strike the incorrect claim, and the rest of the paragraph which no
longer offers useful information.

As a replacement, expand on the "throttling and driving animations"
characteristic. The main purpose is to let clients animate at the
display refresh rate, while avoiding drawing frames that will never be
presented.

The new claim is that the server should give some time between
triggering frame callbacks and repainting itself, for clients to draw
and commit. This is somewhat intimate with the repaint scheduling
algorithm a compositor uses, but hopefully the right intention.

Another point of this update is to imply, that frame callbacks should
not be used to count compositor repaint cycles nor monitor refresh
cycles. It has never been guaranteed to work. Removing the mention of
frame callback without an attach hopefully discourages such use.

v2: Don't just remove a paragraph, but add useful information about the
request's intent.

v3: Specify the order of posting frame callbacks.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Cc: Axel Davy <axel.davy at ens.fr>
Cc: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2c319d341b58e57593f7829cf0c7d608f43089dd

Git commit 3adcf6f11b9b982433f89b2c10c408071f9df44e by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 11/03/2014 at 16:20..
tests: Fix build of noinst fixed-benchmark test

Solves this build error:

  tests/fixed-benchmark.o: In function `benchmark':
  ./wayland/tests/fixed-benchmark.c:82: undefined reference to `clock_gettime'
  ./wayland/tests/fixed-benchmark.c:84: undefined reference to `clock_gettime'

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3adcf6f11b9b982433f89b2c10c408071f9df44e

Git commit 1bf13ae918bbdc8b95f0cdf026e85818f7d544f5 by Kristian Høgsberg (on behalf of Jasper St. Pierre) on 25/03/2014 at 16:50..
server: Kill some unnecessary logs

In order to set a logging function all the time, the output we get
needs to be useful. Logging about trivial things like the socket
we're using and when clients disconnect doesn't realy help anyone.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1bf13ae918bbdc8b95f0cdf026e85818f7d544f5

Git commit 051f3838de9959087bc0a0ba76d3737588a1f67f by Kristian Høgsberg on 26/03/2014 at 20:28..
client: Delay EPIPE handling so we get a chance to handle error events
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/051f3838de9959087bc0a0ba76d3737588a1f67f

Git commit 256324773f9d890f25da54e0dec1a08a405156d9 by Kristian Høgsberg (on behalf of Hardening) on 01/04/2014 at 23:47..
Add error handling for wl_cursors

This patch adds some error management in wayland cursors

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/256324773f9d890f25da54e0dec1a08a405156d9

Git commit 2142c03a8bb1e9c380e1e28d657fe850302386a7 by Kristian Høgsberg (on behalf of Rui Matos) on 01/04/2014 at 23:47..
protocol: Document how clients are supposed to get the xkb keycode

This encodes what everyone is doing and avoids other implementers
having to guess.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2142c03a8bb1e9c380e1e28d657fe850302386a7

Git commit 00703ad2bc9a69f068b0eee3fdcea7432b130bef by Kristian Høgsberg on 03/04/2014 at 21:18..
Add WL_PRINTF attribute and annotate wl_log_func_t
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/00703ad2bc9a69f068b0eee3fdcea7432b130bef

Git commit c1aa1291a10eb63b41df27ecc53569e194f128d1 by Kristian Høgsberg on 03/04/2014 at 22:58..
scanner: Only output each forward declaration once

Just sort the types and only print unique type names.  We avoid using
the GCC pragma.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c1aa1291a10eb63b41df27ecc53569e194f128d1

Git commit 24cdbe3d69763708dcd156edfbe7aa8d00bab860 by Kristian Høgsberg on 07/04/2014 at 23:01..
shm: Disallow shrinking shm pools

Unused shm space will be automatically reclaimed if unused or can be
explicitly returned by using fallocate FALLOC_FL_PUNCH_HOLE.

https://bugs.freedesktop.org/show_bug.cgi?id=74632
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/24cdbe3d69763708dcd156edfbe7aa8d00bab860

Git commit 5e2cfd2a0a771e57aea05fe8380e12ae5c7c323a by Kristian Høgsberg on 07/04/2014 at 23:08..
configure.ac: Bump version to 1.4.91
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e2cfd2a0a771e57aea05fe8380e12ae5c7c323a

Git commit bfc93649cbb48bb71bdcf77bffc41eba43d7383f by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 21/04/2014 at 21:51..
connection: Don't write past the end of the connection buffer

If a message was too big to fit in the connection buffer, the code
in wl_buffer_put would just write past the end of it.

I haven't seen any real world use case that would trigger this bug, but
it was possible to trigger it by sending a long enough string to the
wl_data_source.offer request.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=69267
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bfc93649cbb48bb71bdcf77bffc41eba43d7383f

Git commit 5535757a40e207c81460c4119097a697a245f4c5 by Kristian Høgsberg (on behalf of Giulio Camuffo) on 25/04/2014 at 20:28..
connection: fix a format string typo in error message
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5535757a40e207c81460c4119097a697a245f4c5

Git commit 74df22befefa7e4ac2bd86ea0472347175b95ad1 by Kristian Høgsberg (on behalf of Andrew Wedgbury) on 25/04/2014 at 21:08..
test: Add test showing blocking problem when updating timers

I've noticed a blocking problem in Wayland's event-loop code when updating
timer event sources. The problem occurs if you update the timer at a point
after is has expired, but before it has been dispatched, i.e. from an event
callback that happens during the same epoll wakeup.

When the timer is subsequently dispatched, wl_event_source_timer_dispatch
blocks for the duration of the new timeout in its call to read() from the
timer fd (which is the expected behaviour according to the man page for
timerfd_settime).

This isn't too uncommon a scenario - for example, a socket with an associated
timeout timer. You'd typically want to update the timer when reading from the
socket. This is how I noticed the issue, since I was setting a timeout of
1 minute, and saw my server blocking for this duration!

The following patch adds a (currently failing) test case to Wayland's
event-loop-test.c. It demonstrates the problem using two timers, which are
set to expire at the same time. The first timer to receive its expiry
callback updates the other timer with a much larger timeout, which then
causes the test to block for this timeout before calling the second timer's
callback.

As for a fix, I'm not so sure (which is why I thought I'd post the failing
test case first to show what I mean). I notice that it doesn't actually do
anything with the value read from the timerfd socket, which gives the number
of times the timer expired since the last read, or when the timer was last
updated (which blocks if the timer hasn't yet expired). I believe this value
should always read as 1 anyway, since we don't use periodic timers.

A simple fix would be to use the TFD_NONBLOCK option when creating the
timerfd, ensuring that the read call won't block. We'd then have to ignore
the case when the read returns EAGAIN.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/74df22befefa7e4ac2bd86ea0472347175b95ad1

Git commit 3e962728bf547de6316b5a01f40b38e55d3871cf by Kristian Høgsberg (on behalf of Andrew Wedgbury) on 25/04/2014 at 21:38..
Use non-blocking timerfd to prevent blocking when updating timer event sources

This implements a simple fix for the blocking problem that occurs when
updating a timer event source after the timer expires, but before its
callback is dispatched. This can happen when another event happens during the
same epoll wakeup as the timer event, and causes the read() call in
wl_event_source_timer_dispatch() to block for the updated duration of the
timer.

We never want this read() call to block, so I believe it makes sense for the
timerfd to be non-blocking, and we simply ignore the case where the read fails
with EAGAIN. We still report all other errors as before, and still ignore the
actual value read from the socket.

With this change, the event_loop_timer_updates unit test case I submitted
previously now passes, and weston appears to work as before.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3e962728bf547de6316b5a01f40b38e55d3871cf

Git commit 88f3bd84c8ea8f0b3526f970388ef76baa231fe2 by Kristian Høgsberg on 30/04/2014 at 19:18..
Avoid printing to stderr

Use wl_log in the last few places where we print to stderr.  Remove
logging in a couple of places where we properly return an error code.

https://bugs.freedesktop.org/show_bug.cgi?id=73339
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/88f3bd84c8ea8f0b3526f970388ef76baa231fe2

Git commit 4a4523fa92e8a1110b84d3595a2467bd16dc22af by Kristian Høgsberg on 01/05/2014 at 20:44..
configure.ac: Bump version to 1.4.92
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a4523fa92e8a1110b84d3595a2467bd16dc22af

Git commit 7a17b051876d475fb7cd39e9e16f2a61e241a4ad by Kristian Høgsberg (on behalf of U. Artie Eoff) on 06/05/2014 at 21:57..
scanner: check wl_array_add result

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7a17b051876d475fb7cd39e9e16f2a61e241a4ad

Git commit b41ded812dfd23917300b1927d06299d66368d03 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 06/05/2014 at 21:59..
connection-test: check malloc result

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b41ded812dfd23917300b1927d06299d66368d03

Git commit 0f23b73a0641461884a9a8d626ce087d76406840 by Kristian Høgsberg (on behalf of U. Artie Eoff) on 06/05/2014 at 22:00..
server: fix potential memleak and NULL deref

If for some reason that errno is neither value (ENOMEM or
EINVAL), then prior to this patch, there would be a NULL
deref in wl_closure_lookup(...) at the "else if" conditional
when closure == NULL. Also, closure might not be NULL but still
fall into the block due to the wl_closure_lookup < 0 condition...
in that case, we need to destroy the closure to avoid a memory
leak.

Currently, wl_connection_demarshal only sets errno to ENOMEM
or EINVAL... we've already checked for ENOMEM so remove check
for EINVAL (just assume it).  Also, call wl_closure_destroy(...)
unconditionally in the "else if" block (assume it can handle
NULL closure, too, which it does right now).

Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0f23b73a0641461884a9a8d626ce087d76406840

Git commit cde83a24b3f0c706b20979ee81d1520ad4fc183e by Kristian Høgsberg (on behalf of Srivardhan Hebbar) on 09/05/2014 at 19:44..
doc: Added API documentation for wl_display_create function.

Signed-off-by: Srivardhan Hebbar <sri.hebbar at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cde83a24b3f0c706b20979ee81d1520ad4fc183e

Git commit 591f5ee3b1ed5861b3be8f6f968d108d302caeea by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/05/2014 at 21:29..
event-loop-test: Remove unused variable

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/591f5ee3b1ed5861b3be8f6f968d108d302caeea

Git commit 6b660342687c61a0ec0ec0a48c07897780c1eed7 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/05/2014 at 21:29..
doc: Remove deprecated doxygen tag

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6b660342687c61a0ec0ec0a48c07897780c1eed7

Git commit 3ed76204a9bb5dfe652113ea2e494ad688e22cea by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/05/2014 at 21:30..
protocol: Fix order of wl_pointer, wl_keyboard and wl_touch messages

The "release" message of wl_pointer, wl_keyboard and wl_touch introduced
in version 3 was placed first in the respective interface XML element,
causing wayland-scanner to misbehave and set the version number of the
"release" message to all subsequent messages with no explicitly specified
"since" version.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3ed76204a9bb5dfe652113ea2e494ad688e22cea

Git commit 99a72777f96f63e4e25dc528bb37115424adac59 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/05/2014 at 21:31..
scanner: Also fail when an implicitly versioned message is out of order

Fail if a message with version implicitly set to 1 (i.e. not specified)
comes after a message with since-version > 1.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/99a72777f96f63e4e25dc528bb37115424adac59

Git commit e2b1218422e37a88e68f75a0d5b2f649330e4d9b by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/05/2014 at 21:32..
tests: Add message version sanity test

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e2b1218422e37a88e68f75a0d5b2f649330e4d9b

Git commit 35be5a7c65a47e3547c5b6250141e135ee109a6d by Kristian Høgsberg (on behalf of Jonas Ådahl) on 09/05/2014 at 21:33..
scanner: Generate macros for getting the 'since' version of an event

This could be useful for compositors who need to be able to not send
events if the client bound a version lower than the newest provided.

Event version numbers are exposed as
[INTERFACE_NAME]_[EVENT_NAME]_SINCE_VERSION for example wl_output.scale
will have the version macro WL_OUTPUT_SCALE_SINCE_VERSION.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/35be5a7c65a47e3547c5b6250141e135ee109a6d

Git commit 3e007aef2fc1b8f1e5a4d4367f03d2497f1301e9 by Kristian Høgsberg (on behalf of Boyan Ding) on 12/05/2014 at 17:15..
doc: Remove obsolete doxygen tags
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3e007aef2fc1b8f1e5a4d4367f03d2497f1301e9

Git commit 6b27878559fd863023681042800ccc723a3a249e by Kristian Høgsberg (on behalf of Thierry Reding) on 12/05/2014 at 17:55..
Do not distribute generated headers

The wayland-server-protocol.h and wayland-client-protocol.h headers are
currently being shipped in tarballs created using make dist. This causes
out-of-tree builds to fail since make will detect that the headers exist
by looking at the source directory (via VPATH) and not regenerate them.
But as opposed to ${top_builddir}/protocol, ${top_srcdir}/protocol is
not part of the include path and therefore the shipped files can't be
found during compilation.

Two solutions exist to this problem: 1) add ${top_srcdir}/protocol to
the include path to allow shipped files to be used if available or 2)
don't ship these generated files in release tarballs. The latter seems
the most appropriate. wayland-scanner is already a prerequisite in order
to generate wayland-protocol.c, so it is either built as part of the
package or provided externally. Generating all files from the protocol
definition at build time also ensures that they don't get out of sync.

Both of the generated headers are already listed in Makefile.am as
nodist_*_SOURCES, but at the same time they appear in include_HEADERS,
which will cause them to be added to the list of distributable files
after all. To prevent that, split them off into nodist_include_HEADERS.

Note that this problem will be hidden if a previous version of wayland
has been installed, since these files will exist in /usr/include and be
included from there. So this build error will only show for out-of-tree
builds on systems that don't have wayland installed yet.

Signed-off-by: Thierry Reding <treding at nvidia.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6b27878559fd863023681042800ccc723a3a249e

Git commit bad885170f286ff5feb91160a60efcd6f77872d0 by Kristian Høgsberg on 12/05/2014 at 19:54..
configure.ac: Bump version 1.4.93

This is the last RC before 1.5.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bad885170f286ff5feb91160a60efcd6f77872d0

Git commit 8511544e6be4385a87d2111c87f7f397c63c43ff by Kristian Høgsberg on 12/05/2014 at 22:35..
scanner: Downgrade non-increasing version error to warning

Commit 99a72777f96f63e4e25dc528bb37115424adac59 introduced a new error
for when the 'since' version decreases.  It also reset the version for
messages without a version to 1.  Versioning semantics in the spec files
was a little under-specified and we don't want to break projects caught in
this grey zone.

This commits replaces previous configure.ac as the 1.4.93 tag and the
final 1.5 RC.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8511544e6be4385a87d2111c87f7f397c63c43ff

Git commit 3ac62cd6b6012f40e37b1bd7fc1e8178585905ca by Kristian Høgsberg on 19/05/2014 at 23:24..
configure.ac: Bump version to 1.5.0
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3ac62cd6b6012f40e37b1bd7fc1e8178585905ca

Git commit ac106649871ed15c6dd92545072d2dc62b16267b by Emilio Pozuelo Monfort on 21/05/2014 at 19:22..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ac106649871ed15c6dd92545072d2dc62b16267b

Git commit da4dab092e893ee885ea7f21168bde70a01ceab2 by Emilio Pozuelo Monfort on 21/05/2014 at 19:23..
New upstream release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/da4dab092e893ee885ea7f21168bde70a01ceab2

Git commit e4e37e28fc6838eecaff44388a8d5a248acda8a1 by Emilio Pozuelo Monfort on 23/05/2014 at 19:17..
Switch back to source format 1.0 for now
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e4e37e28fc6838eecaff44388a8d5a248acda8a1

Git commit be0b6104f65861059f6d49622ff33452a9ebd991 by Emilio Pozuelo Monfort on 23/05/2014 at 19:23..
Update path for wayland-scanner.pc
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be0b6104f65861059f6d49622ff33452a9ebd991

Git commit 54e20ff0b6e36d64756cf12c541b4341b30536be by Emilio Pozuelo Monfort on 24/05/2014 at 00:54..
Release to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/54e20ff0b6e36d64756cf12c541b4341b30536be

Git commit 3de6a1de3f860fdb4e0eb8c09e9a868295f44643 by Kristian Høgsberg on 28/05/2014 at 17:11..
configure.ac: Bump configure.ac version to 1.5.90 on master
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3de6a1de3f860fdb4e0eb8c09e9a868295f44643

Git commit 0dd019925b88ffee895aa426826f06b20804a758 by Pekka Paalanen (on behalf of Jonny Lamb) on 03/06/2014 at 06:59..
protocol: add wl_surface errors enum for bad scale and transform values
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0dd019925b88ffee895aa426826f06b20804a758

Git commit 1a6fd1621efc1a82cfe246a32ba68998dc3bbdb7 by Kristian Høgsberg (on behalf of Silvan Jegen) on 18/06/2014 at 23:09..
protocol: remove redundant 'the' in description

Signed-off-by: Silvan Jegen <s.jegen at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1a6fd1621efc1a82cfe246a32ba68998dc3bbdb7

Git commit 113aac5afbcce446e65d3d309a0e200b39c9e7ff by Kristian Høgsberg (on behalf of Boyan Ding) on 19/06/2014 at 00:13..
connection: remove unreached code
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/113aac5afbcce446e65d3d309a0e200b39c9e7ff

Git commit f34cab29465ed58acbbdf9e5348a91e3d8e7cc5e by Pekka Paalanen (on behalf of Peter Hutterer) on 06/07/2014 at 09:39..
doc: reduce chunk_section_depth to 0

One html page per chapter.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f34cab29465ed58acbbdf9e5348a91e3d8e7cc5e

Git commit 3ccfdcc3961debbca9ab35b788b43463d004becb by Pekka Paalanen (on behalf of Peter Hutterer) on 06/07/2014 at 09:39..
doc: force publican to use fop

Because wkhtmltopdf requires a $DISPLAY, and a patched Qt.

https://bugzilla.redhat.com/show_bug.cgi?id=997682
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3ccfdcc3961debbca9ab35b788b43463d004becb

Git commit 567977815a8eb73fa22908bb730b6ff395d95a28 by Pekka Paalanen (on behalf of Peter Hutterer) on 06/07/2014 at 09:39..
configure: fix publican version detection

Publican now adds a spurious "v" to the version output.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/567977815a8eb73fa22908bb730b6ff395d95a28

Git commit 886b09c9a3a9d8672039f09fe7eaf3f2b2b012ca by Pekka Paalanen (on behalf of Marek Chalupa) on 07/07/2014 at 14:13..
client: extend error handling

When an error occurs, wl_display_get_error() does not
provide any way of getting know if it was a local error or if it was
an error event, respectively what object caused the error and what
the error was.

This patch introduces a new function wl_display_get_protocol_error()
which will return error code, interface and id of the object that
generated the error.
wl_display_get_error() will work the same way as before.

wl_display_get_protocol_error() DOES NOT indicate that a non-protocol
error happened. It returns valid information only in that case that
(protocol) error occurred, so it should be used after calling
wl_display_get_error() with positive result.

[Pekka Paalanen] Applied another hunk of Bryce's comments to docs,
	added libtool version bump.

Reviewed-by: Pekka Paalanen <ppaalanen at gmail.com>
Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/886b09c9a3a9d8672039f09fe7eaf3f2b2b012ca

Git commit bf24e1e225d4437e1d06a3149d243e5bd7622e96 by Jason Ekstrand (on behalf of Bryce W. Harrington) on 25/07/2014 at 04:15..
doc: Fix link to wl_list_remove()

Use function linking syntax instead of variable linking, to resolve two
warnings:

    wayland-server.h:167: warning: explicit link request to 'wl_list_remove' could not be resolved
    wayland-server.h:188: warning: explicit link request to 'wl_list_remove' could not be resolved

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bf24e1e225d4437e1d06a3149d243e5bd7622e96

Git commit 978943fa7e2ad315596f0be31384b4b521ab1193 by Pekka Paalanen (on behalf of Jonny Lamb) on 25/07/2014 at 12:02..
protocol: add repeat_info event to wl_keyboard

In the process wl_keyboard's version has been incremented. Given
clients get the wl_keyboard from wl_seat without a version, wl_seat's
version has also been incremented (wl_seat version 4 implies
wl_keyboard version 4).

earlier Acked-by: Daniel Stone <daniel at fooishbar.org>
Reviewed-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/978943fa7e2ad315596f0be31384b4b521ab1193

Git commit 7ce8eab6b3e9a92bb915391a592a341dc7644fda by Pekka Paalanen (on behalf of Bryce W. Harrington) on 25/07/2014 at 13:09..
gitignore: Add another test-suite file

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7ce8eab6b3e9a92bb915391a592a341dc7644fda

Git commit 34dfdb4ee32e052831a32987357bb72887045cb0 by Jason Ekstrand (on behalf of Jasper St. Pierre) on 05/08/2014 at 19:29..
wayland-client: Fix indentation
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/34dfdb4ee32e052831a32987357bb72887045cb0

Git commit 68dd7d1f5fa558bd0797bc6e24517ff1936bdc95 by Jasper St. Pierre on 05/08/2014 at 19:42..
server: Clean up socket destruction

The code here is wrong, leaky, and inconsistent. We don't free,
unlink or clean up things when we should in every error path.

Centralize the data destruction so it's easier to keep track of
and easier to bug fix.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68dd7d1f5fa558bd0797bc6e24517ff1936bdc95

Git commit 6e8a6624030df0ac7656f8743ca537c1414ada0f by Jasper St. Pierre on 05/08/2014 at 19:42..
server: Create the socket FD after taking the lock

We're going to split out the lock-taking to another function so we
can repetitively try locks.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6e8a6624030df0ac7656f8743ca537c1414ada0f

Git commit 79b1d2039aeb77b712cf4e1bb4049ebf9c453b59 by Jasper St. Pierre on 05/08/2014 at 19:43..
server: Split out code to initialize the socket address for a display name

We'll use this to autodetect a good socket to open on.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/79b1d2039aeb77b712cf4e1bb4049ebf9c453b59

Git commit 7ec34fd0970ccf8d5d5f28753343e0c9bf45c5b0 by Jasper St. Pierre on 05/08/2014 at 19:43..
server: Make get_socket_lock operate directly on the socket's lock_fd
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7ec34fd0970ccf8d5d5f28753343e0c9bf45c5b0

Git commit f0401059b9927b0f4c9ac765ec00814ea19c1ee9 by Jasper St. Pierre on 05/08/2014 at 19:43..
server: Save the display name in the wl_socket

This allows us to return the display name to the client in a new API.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f0401059b9927b0f4c9ac765ec00814ea19c1ee9

Git commit e2c0d47b0c77f18cd90e9c6eabb358c4d89681c8 by Jasper St. Pierre on 05/08/2014 at 19:43..
server: Add a simple API to find a good default display

This allows compositors to easily select a good display to listen on.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e2c0d47b0c77f18cd90e9c6eabb358c4d89681c8

Git commit a92efe9ad6cf29c42fabcc3379e3826b18c0454f by Pekka Paalanen (on behalf of Marek Chalupa) on 07/08/2014 at 13:03..
server: move memset after check

If the malloc fails, memset would touch invalid memory.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a92efe9ad6cf29c42fabcc3379e3826b18c0454f

Git commit 4c7d1af70bddc55b102fee3ebc9f23c99d567bdd by Pekka Paalanen (on behalf of Marek Chalupa) on 07/08/2014 at 13:04..
tests: add tests for bug in adding socket

Last set of commits introduced a bug. When adding of socket with
a particular name fails, then the socket and its lockfile are deleted
regardless who created the socket.

/* OK */
wl_display_add_socket(display, "wayland-0");

/* this call fails and will delete the original socket */
wl_display_add_socket(display, "wayland-0");

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4c7d1af70bddc55b102fee3ebc9f23c99d567bdd

Git commit 3a84e45a3043a0025ecfd5f1a496fafac95fd01f by Pekka Paalanen (on behalf of Marek Chalupa) on 07/08/2014 at 13:04..
server: fix error handling when adding socket

When some function during adding socket fails, it must clean
everything it set or we can get funky errors.

This patch fixes:
http://lists.freedesktop.org/archives/wayland-devel/2014-August/016331.html

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3a84e45a3043a0025ecfd5f1a496fafac95fd01f

Git commit ced769ac92c96c4ef8dab585b02c9d211482b5ee by Pekka Paalanen on 07/08/2014 at 13:59..
server: fix conditions for fds in wl_socket_destroy

0 is also a valid fd, and needs to be closed.

On error we set fd to -1. We need to also initialize fds to -1, so we do
not accidentally close stdout on error.

While fixing this, also remove one use-before-NULL-check.

Based on the patch by Marek.

Cc: Marek Chalupa <mchqwerty at gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jasper St. Pierre <jstpierre at mecheye.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ced769ac92c96c4ef8dab585b02c9d211482b5ee

Git commit eb223cc2f606f4a8641efbd0ef0d0af223dc9216 by Pekka Paalanen (on behalf of Jasper St. Pierre) on 18/08/2014 at 08:22..
scanner: Use an enum to determine the type of thing we're writing out

Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eb223cc2f606f4a8641efbd0ef0d0af223dc9216

Git commit edddb0f58ebe14a3cff93d85919af671f17612b4 by Pekka Paalanen (on behalf of Jasper St. Pierre) on 18/08/2014 at 08:31..
scanner: Make emit_structs more explicit

"is_interface" is a really terrible name for the client or server
variants, and instead of checking whether we were passed the requests or
the events, just pass an argument through.

Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/edddb0f58ebe14a3cff93d85919af671f17612b4

Git commit 5504c9338bf89c960a9c70f1a682b619ce83f57a by Pekka Paalanen (on behalf of Marek Chalupa) on 18/08/2014 at 09:55..
tests: make event-loop-test more explicit

Check value set in handler against an explicit value instead of:
  assert(value);

also add one assert() for non-NULL value.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5504c9338bf89c960a9c70f1a682b619ce83f57a

Git commit f2338c8f3beb069d3fa7e4ba0d56be1cc6e065f5 by Pekka Paalanen (on behalf of Marek Chalupa) on 18/08/2014 at 10:03..
event-loop: make signalfd non-blocking

When we add more that one source to a signal, then wayland will
block in wl_event_loop_dispatch. This is due to the attampt to read
from signal's fd each time the source is dispatched.

  wl_event_loop_add_signal(loop, SIGINT, ...);
  wl_event_loop_add_signal(loop, SIGINT, ...);

  /* raise signal .. */

  /* we got two fd's ready, both for the one SIGINT */
  epoll_wait(...) = 2

  [ for (i == 0) ]
      source1->dispatch() --> read(fd1);
  [ for (i == 1) ]
      source2->dispatch() --> read(fd2); /* blocking! */

Reading from fd2 will block, because we got only one signal,
and it was read from fd1.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f2338c8f3beb069d3fa7e4ba0d56be1cc6e065f5

Git commit 5bed9e46e735da5b43c4619b12034d8b94f5b5c7 by Pekka Paalanen (on behalf of Marek Chalupa) on 18/08/2014 at 10:36..
tests: add one more test for event-loop signal source

Test if when we get a signal, all signal sources for that signal
get dispatched.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5bed9e46e735da5b43c4619b12034d8b94f5b5c7

Git commit 12ec657014d7fda1c9ebb0358a72bd1a4b5d868c by Pekka Paalanen (on behalf of Marek Chalupa) on 19/08/2014 at 11:34..
tests: event_loop_timer_updates - add asserts and fix indentation

Make sure the wl_event_source_timer_update suceeded. Also, fix weird
indentation.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/12ec657014d7fda1c9ebb0358a72bd1a4b5d868c

Git commit b24fa4c8216e3f0f7b644c7b8c6949925f19ada9 by Pekka Paalanen (on behalf of Marek Chalupa) on 19/08/2014 at 11:34..
tests: fix event_loop_timer_updates

It may happen that there's some time between the first and the other timer expire.
If epoll_wait is called after the first timer expired and
the other not, it returns only one source to dispatch and therefore
the test fails. To fix that, sleep a while before
wl_event_loop_dispatch() to make sure both timers expired.

To be 100% sure, we could use poll() before calling
wl_event_loop_dispatch(), but that would need modification in libwayland
(need to get the source's fd somehow)

https://bugs.freedesktop.org/show_bug.cgi?id=80594

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b24fa4c8216e3f0f7b644c7b8c6949925f19ada9

Git commit 06472737a9a24619f5739abaa192b1e47b14aecc by Pekka Paalanen (on behalf of Ryo Munakata) on 21/08/2014 at 07:01..
wl_surface: clarify the base of time passed in the callback of frame

Signed-off-by: Ryo Munakata <ryomnktml at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/06472737a9a24619f5739abaa192b1e47b14aecc

Git commit 77dd068d422fdc82279cd4165fb7f3e29f35e33d by Pekka Paalanen (on behalf of Giulio Camuffo) on 21/08/2014 at 07:12..
client: add a public function to make a roundtrip on a custom queue

wl_display_roundtrip() works on the default queue. Add a parallel
wl_display_roundtrip_queue().

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/77dd068d422fdc82279cd4165fb7f3e29f35e33d

Git commit a52357f6fbfb5f531e91dc2eb85c93c86c2a628f by Pekka Paalanen (on behalf of Giulio Camuffo) on 21/08/2014 at 07:30..
tests: test the wl_display_roundtrip_queue() function

[Pekka Paalanen: moved variable declarations to before code. Added some
comments, and added the re-arm to additionally test the opposite case.]

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a52357f6fbfb5f531e91dc2eb85c93c86c2a628f

Git commit 78d80474073b6145f6f03dd4928c3a4daf9c6b9c by Pekka Paalanen (on behalf of Jasper St. Pierre) on 21/08/2014 at 10:51..
server: Don't expose wl_display as a global

The idea here was that once upon a time, clients could rebind wl_display
to a higher version, so we offered the ability to rebind it
here. However, this is particularly broken. The existing bind
implementation actually still hardcodes version numbers, and it leaks
previous resources, overwriting the existing one.

The newly bound resource *also* won't have any listeners attached by the
client, meaning that the error and delete_id events won't get delivered
correctly. Unless the client poked into libwayland internals, it also
can't possibly set up these handlers correctly either, so the client
will sustain errors and leak all deleted globals.

Since this never worked correctly in the first place, we can feel safe
removing it.

Acked-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/78d80474073b6145f6f03dd4928c3a4daf9c6b9c

Git commit 8cf7a23e57495f079c9b2b773ac36646a47905d6 by Pekka Paalanen (on behalf of Marek Chalupa) on 21/08/2014 at 11:44..
tests: remove leaks from queue-test

Destroy all objects that we have created

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8cf7a23e57495f079c9b2b773ac36646a47905d6

Git commit c6d98e15cae20b481f954ce50f788644d1286b62 by Pekka Paalanen (on behalf of Marek Chalupa) on 21/08/2014 at 11:44..
tests: remove unnecessary lines from queue-test

Earlier, the wl_display_dispatch_pending were setting number of thread
that can dispatch events. This behaviour was removed later,
so now these lines are redundant.

Related commits:

385fe30e8b144a968aa88c6546c2ef247771b3d7
78cfa967681c965d23f6cbf76e080bbb0b564ff6
3c7e8bfbb4745315b7bcbf69fa746c3d6718c305

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c6d98e15cae20b481f954ce50f788644d1286b62

Git commit ded9bb1f8b30c5c38bc8170ef99f33857302121a by Pekka Paalanen (on behalf of Marek Chalupa) on 21/08/2014 at 11:45..
client: remove unused variable

display_thread variable is unused since
3c7e8bfbb4745315b7bcbf69fa746c3d6718c305

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ded9bb1f8b30c5c38bc8170ef99f33857302121a

Git commit 85d08e8bd6d84694e2032f6fdb312f33036bfdda by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 09:34..
tests: add test-compositor

This patch introduces a set of functions that can create a display
and clients for tests.
On server side the user can use functions:
  display_create()
  display_destroy()
  create_client()
  display_run()
  display_resume()
and on client side the user can use:
  client_connect()
  client_disconnect()
  stop_display()

The stop_display() and display_resume() are functions that serve as a barrier
and also allow the display to take some action after the display_run() was called,
because after the display is stopped, it can run arbitrary code until it calls
display_resume().

client_connect() function connects to wayland display and creates a proxy to
test_compositor global object, so it can ask for stopping the display later
using stop_display().

An example:

  void
  client_main()
  {
        /* or client can use wl_display_connect(NULL)
         * and do all the stuff manually */
        struct client *c = client_connect();

        /* do some stuff, ... */

        /* stop the display so that it can
         * do some other stuff */
        stop_display(c, 1);

        /* ... */

        client_disconnect(c);
  }

  TEST(dummy_tst)
  {
       struct display *d = display_create();

       /* set up the display */
       wl_global_create(d->wl_display, ...);

       /* ... */

       create_client(d, client_main);
       display_run();

       /* if we are here, the display has been stopped
        * and we can do some code, i. e. create another global or so */
       wl_global_create(d->wl_display, ...);

       /* ... */

       display_resume(d); /* resume display and clients */

       display_destroy(d);
  }

v2:
  added/changed message in few asserts that were not clear
  fixed codying style issues and typo
  client_create_with_name: fixed a condition in an assert
  get_socket_name: use also pid
  check_error: fix errno -> err

[Pekka Paalanen: added test-compositor.h to SOURCES, added
WL_HIDE_DEPRECATED to get rid of deprecated defs and lots of warnings,
fixed one unchecked return value from write().]

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/85d08e8bd6d84694e2032f6fdb312f33036bfdda

Git commit 93e654061b9497c78b6f89a0b7f54107029e2628 by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 09:39..
tests: use test compositor in queue-test

Most of the code of the queue-test is covered by the test compositor,
so we can save few lines and use the test compositor instead.
I think it's also more readable.

This patch removes timeout from the test. We plan to add timeout
to all tests later, though.

v2.
  rebased to master

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/93e654061b9497c78b6f89a0b7f54107029e2628

Git commit 47208d2ab12c7671e1b8dc80c4d15094f0b310f7 by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 09:43..
tests: test posting errors

Test posting errors to one and more clients.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/47208d2ab12c7671e1b8dc80c4d15094f0b310f7

Git commit 171e0bdace16dca6d532494a076f0970cb8a034c by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 09:53..
tests: test if thread can block on error

wl_display_read_events() can make a thread wait until some other thread
ends reading. Normally it wakes up all threads after the reading is
done. But there's a place when it does not get to waking up the threads
- when an error occurs. This test reveals bug that can block programs.

If a thread is waiting in wl_display_read_events() and another thread
calls wl_display_read_events and the reading fails,
then the sleeping thread is not woken up. This is because
display_handle_error is using old pthread_cond instead of new
display->reader_cond, that was added along with wl_display_read_events().

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/171e0bdace16dca6d532494a076f0970cb8a034c

Git commit 213366e698fedf0caac0e7a0bf2f05e2446ba113 by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 09:55..
tests: add tests for wl_display_cancel_read

Test if wl_display_cancel_read wakes up other threads.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/213366e698fedf0caac0e7a0bf2f05e2446ba113

Git commit 71141288f0aaf7df9d06469d4a0ee21d7384243b by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 09:58..
tests: add test for reading after an error occurred

This test shows that it's possible to successfully call wl_display_prepare_read
and wl_display_read_events after an error occurred. That may lead to
deadlock.

When you call prepare read from two threads and then call read_events,
one thread gets sleeping. The call from the other thread will return -1 and invokes
display_fatal_error, but since
we have display->last_error already set, the broadcast is not called and
the sleeping thread sleeps indefinitely.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/71141288f0aaf7df9d06469d4a0ee21d7384243b

Git commit 0cb9862c938f754dbda5394c56ac09dae3a20201 by Pekka Paalanen (on behalf of Olivier Blin) on 22/08/2014 at 12:00..
client: drop unused event queue cond and list variables

The wl_event_queue cond variable has been replaced by the wl_display
reader_cond variable (commit 3c7e8bfbb4745315b7bcbf69fa746c3d6718c305).
This cond variable is never waited for anymore, just
signaled/broadcasted, and thus can be safely removed.

The wl_display event_queue_list and link from wl_event_queue
can be removed as well, since it was only used to iterate over
the event queue list in order to broadcast the now unused cond.

No regression on queue unit tests.

Signed-off-by: Olivier Blin <olivier.blin at softathome.com>

v2: fixed and rebased after 886b09c9a3a9d8672039f09fe7eaf3f2b2b012ca
    added signed-off-by

v3: removed link from wl_event_queue

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0cb9862c938f754dbda5394c56ac09dae3a20201

Git commit 574b710ef8da766019a406801893937a6df9357c by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 12:01..
client: broadcast the right pthread_cond variable

In previous commit we removed unused variables. One of them was
pthread_cond_t that was formerly used when reading from display, but
later was (erroneously) made unused. This patch fixes this error
and is a fix for the failing test introduced few patches ago (tests:
test if thread can block on error)

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/574b710ef8da766019a406801893937a6df9357c

Git commit 8c061d1b7e4fcdfe8d12887720ef129b8f921139 by Pekka Paalanen (on behalf of Marek Chalupa) on 22/08/2014 at 12:33..
client: check for error in wl_display_read_events

This prevents from blocking shown in one display test. Also, it
makes sense to not proceed further in the code of the function
when an error ocurred.

v2. set errno
    put note about the errno into wl_display_prepare_read doc
    check for error with mutex locked

v3.
    set errno to display->last_error

    check for the error only in wl_display_read_events. It's sufficient
    as prevention for the hanging and programmer doesn't need to
    check if wl_display_prepare_read (that was previously covered by
    this patch too) returned an error or the queue just was not empty.
    Without the check, it could result in indefinite looping.

Thanks to Pekka Paalanen <pekka.paalanen at collabora.co.uk> for
constant reviewing and discussing this patch.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8c061d1b7e4fcdfe8d12887720ef129b8f921139

Git commit 6d0f298665e0f6b11a18ab6b6ccc49ba990b4b3e by Pekka Paalanen on 22/08/2014 at 15:01..
configure.ac: Bump version to 1.5.91 for the alpha release

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6d0f298665e0f6b11a18ab6b6ccc49ba990b4b3e

Git commit fb97550ce6ff56e57d12f95173b2608cbc546b36 by Pekka Paalanen (on behalf of Peter Hutterer) on 03/09/2014 at 13:25..
doc/publican: stop excessive rebuilds

Traced down to the server/client target always rebuilding, causing a rebuild
of everything else. Rework this so the target name is a file we actually
produce and can check for a timestamp.

Note: this also changes the generated file from the doxygen directory into the
en-US publican path and renames it to (server|client)API.xml.tmp to avoid
copying it into the xml output directory.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fb97550ce6ff56e57d12f95173b2608cbc546b36

Git commit 5c7d30b691d9bcc891b9a7e2c7e677d1a498b523 by Pekka Paalanen (on behalf of Nils Chr. Brause) on 04/09/2014 at 12:05..
wayland-client: Initialize newly created wl_proxys to zero

Up until now, newly created wl_proxys (with proxy_create or
wl_proxy_create_for_id) are not initialized properly after memory
allocation. The wl_display object in contrast is. To prevent giving
uninitialized data to the user (e.g. user_data) an appropriate memset
has been added. Also, after a memset members don't have to be
explicitly initialized with zero anymore.

Signed-off-by: Nils Chr. Brause <nilschrbrause at googlemail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c7d30b691d9bcc891b9a7e2c7e677d1a498b523

Git commit 1e0f9698d44fb7a72c27ac41b8e360d47734dcd2 by Pekka Paalanen (on behalf of Marek Chalupa) on 04/09/2014 at 12:32..
client: add display_wakeup_threads function

This helper function wraps the always-repeated pattern:

  display->read_serial++;
  pthread_cond_broadcast(&display->reader_cond);

[Pekka Paalanen: minor whitespace and comment fixes.]

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1e0f9698d44fb7a72c27ac41b8e360d47734dcd2

Git commit aa49a79d7a1cf2b0c94f2b172b770dac05bd1c35 by Pekka Paalanen (on behalf of Marek Chalupa) on 04/09/2014 at 12:47..
display-test: make use of create_thread function

This function is used in one test only, but its functionality can be
used in another tests to (create thread and wait until it is sleeping).
We just need to pass the starting function for the thread as an argument.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aa49a79d7a1cf2b0c94f2b172b770dac05bd1c35

Git commit bafd26acfa906c4c11ab4e21d02f8f34a3ad0d20 by Emilio Pozuelo Monfort on 05/09/2014 at 00:48..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bafd26acfa906c4c11ab4e21d02f8f34a3ad0d20

Git commit 42c3daa4ae31ddf9b7600b404c97e36d6cc7e9fd by Emilio Pozuelo Monfort (on behalf of Andreas Henriksson) on 05/09/2014 at 00:48..
New upstream development release.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/42c3daa4ae31ddf9b7600b404c97e36d6cc7e9fd

Git commit f9855ae74860d318ec048c3541dd8878198450c8 by Emilio Pozuelo Monfort (on behalf of Andreas Henriksson) on 05/09/2014 at 00:48..
Update debian/libwayland-client0.symbols with two additions
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f9855ae74860d318ec048c3541dd8878198450c8

Git commit 350b32ee80b2bd9534335123bb7ded7acea7ea3c by Emilio Pozuelo Monfort (on behalf of Andreas Henriksson) on 05/09/2014 at 00:49..
Update debian/libwayland-server0.symbols with one addition
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/350b32ee80b2bd9534335123bb7ded7acea7ea3c

Git commit 89481aaf2190bd5d053f63a9b4d1d101cf154ab3 by Emilio Pozuelo Monfort on 05/09/2014 at 01:10..
Upload to experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/89481aaf2190bd5d053f63a9b4d1d101cf154ab3

Git commit 7af5920031df9981a23bf92cef3445813fa73a2e by Pekka Paalanen (on behalf of Bryce W. Harrington) on 05/09/2014 at 08:53..
doc: Quell warnings about missing man3 directory before its been built

The shell command for dist_man3_MANS gets invoked several times during
the make process but before the man pages have been generated, which
causes the following warnings when running `make`:

    find: `man/man3': No such file or directory
    find: `man/man3': No such file or directory
    find: `man/man3': No such file or directory
      GEN    xml/client/index.xml

Despite these error messages, the generated dist tarball contains the
man3 pages as intended, both before and after this patch.

    $ make dist
    $ tar xxf wayland-1.5.90.tar.xz
    $ find wayland-1.5.90/doc/doxygen/man/man3 -name "wl_*.3" | wc -l
    85

Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7af5920031df9981a23bf92cef3445813fa73a2e

Git commit 44bf13ba0f3b881c0c5055a7225591395bc80583 by Pekka Paalanen on 05/09/2014 at 11:57..
configure.ac: bump version to 1.5.92 for rc1

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/44bf13ba0f3b881c0c5055a7225591395bc80583

Git commit d8377411663ff4c17d8752e1be1cf94d00f4dc54 by Pekka Paalanen (on behalf of Marek Chalupa) on 09/09/2014 at 09:43..
tests: use nanosleep instead of usleep

man usleep says that bahaviour of using usleep with SIGALRM signal
is unspecified. So create our own usleep that calls nanosleep instead.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d8377411663ff4c17d8752e1be1cf94d00f4dc54

Git commit 65d02b7a83329ab5a65a0effde854baf8d5d2040 by Pekka Paalanen (on behalf of Marek Chalupa) on 11/09/2014 at 07:21..
display-test: test if threads are woken up on EAGAIN

When wl_connection_read() in wl_display_read_events() returns with EAGAIN,
we want the sleeping threads to be woken up. Test it!

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/65d02b7a83329ab5a65a0effde854baf8d5d2040

Git commit a31a7360093dd5f4ce1a34b9889560fc37dbb7a9 by Pekka Paalanen (on behalf of Marek Chalupa) on 11/09/2014 at 07:22..
client: wake-up threads on all return paths from read_events

If wl_connection_read returned EAGAIN, we must wake up sleeping
threads. If we don't do this and the thread calling
wl_connection_read won't call wl_display_read_events again,
the sleeping threads will sleep indefinitely.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a31a7360093dd5f4ce1a34b9889560fc37dbb7a9

Git commit 083d8da432b2052db78f0a19405275c2b4391b5a by Pekka Paalanen (on behalf of Marek Chalupa) on 11/09/2014 at 08:41..
client: cancel read in wl_display_read_events() when last_error is set

Calling wl_display_read_events() after an error should be equivalent
to wl_display_cancel_read(), so that display state is consistent.

Thanks to Pekka Paalanen <pekka.paalanen at collabora.co.uk>
for pointing that out.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/083d8da432b2052db78f0a19405275c2b4391b5a

Git commit 4d7dfa0867d7661c86b717998ea96a0f2987cee2 by Pekka Paalanen (on behalf of Derek Foreman) on 11/09/2014 at 08:46..
shm: fix error in comment
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4d7dfa0867d7661c86b717998ea96a0f2987cee2

Git commit edf4e7abea4046f003f53c300acf9af7dffc2e48 by Pekka Paalanen on 12/09/2014 at 09:26..
configure.ac: bump version to 1.5.93 for rc2

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/edf4e7abea4046f003f53c300acf9af7dffc2e48

Git commit e483e08a6bfee78e043c5091ae612626f8220c91 by Héctor Orón Martínez on 12/09/2014 at 14:16..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e483e08a6bfee78e043c5091ae612626f8220c91

Git commit 3a242a8476cc49d9c8ec6b2057d3b6b8fe05a04c by Héctor Orón Martínez on 12/09/2014 at 16:23..
d/changelog: update

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3a242a8476cc49d9c8ec6b2057d3b6b8fe05a04c

Git commit e4c2a51a0ca6ae816d7db71c81fe6ce243c2b833 by Héctor Orón Martínez on 13/09/2014 at 00:35..
Upload to experimental

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e4c2a51a0ca6ae816d7db71c81fe6ce243c2b833

Git commit e94170d0d75f15940417d3f6927720706f878f8b by Emilio Pozuelo Monfort on 16/09/2014 at 20:42..
Upload to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e94170d0d75f15940417d3f6927720706f878f8b

Git commit 339e83aa579569711cd14623ca4b2db46256b766 by Pekka Paalanen on 19/09/2014 at 09:36..
configure.ac: bump version to 1.6.0

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/339e83aa579569711cd14623ca4b2db46256b766

Git commit 7b5ddd1416ad4618fca355170aa274fae3aa6a12 by Héctor Orón Martínez on 19/09/2014 at 14:27..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7b5ddd1416ad4618fca355170aa274fae3aa6a12

Git commit 1be81c6a578a5c6f49c38bed1f4ec0f14ad4c7d6 by Héctor Orón Martínez on 19/09/2014 at 14:30..
Release Debian version wayland-1.6.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1be81c6a578a5c6f49c38bed1f4ec0f14ad4c7d6

Git commit 472f0c48e667ff13794bc86750f6c74baabdc284 by Pekka Paalanen on 22/09/2014 at 06:51..
configure.ac: bump version to 1.6.90

Master is open for new features again.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/472f0c48e667ff13794bc86750f6c74baabdc284

Git commit f3e7eedf1c0824639a816519ccfbdacb946cc63f by Pekka Paalanen (on behalf of Peter Hutterer) on 22/09/2014 at 07:30..
doc: replace publican with xmlto

Publican isn't packaged for some distros, xmlto is a lot more common. Most of
what publican provides for us is the stylesheet anyway, so we can just use
xmlto and the publican stylesheet to get roughly the same look.

PDF and XML generation has been dropped, this needs a bit more more effort
than a mere switchover to xmlto.

The top-level directory structure imposed by publican is kept for now
(specifically the Wayland/en-US/html tree). This makes it easier to transition over
for packagers. Note that the list of files inside has changed.

CSS files are taken from publican to keep a uniform look compared to previous
documentations. Stylesheets are licensed under CC0 1.0 Universal license, see
publican/LICENSE:

1.  Files in the datadir/Common_Content directory and its subdirectories are
    licensed under the CC0 1.0 Universal license.

    To the extent possible under law, the developers of Publican waive all
    copyright and related or neighboring rights to the files contained
    in the datadir/Common_Content directory and its subdirectories.

Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f3e7eedf1c0824639a816519ccfbdacb946cc63f

Git commit 2028227acc4fe08836706278698acf1c09851fa1 by Pekka Paalanen (on behalf of Jonas Ådahl) on 23/09/2014 at 08:40..
scanner: Improve XML parse error reporting

Print the parse error and exit with a failure if expat can't parse the
XML.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2028227acc4fe08836706278698acf1c09851fa1

Git commit 9dba854547ebdf78276e15003b89f404998c4fca by Pekka Paalanen (on behalf of Jonas Ådahl) on 23/09/2014 at 08:40..
scanner: Remove stray newline

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9dba854547ebdf78276e15003b89f404998c4fca

Git commit a3ce9f86d717c291474d510cab9ef790a9425885 by Héctor Orón Martínez on 23/09/2014 at 21:51..
Release Debian version 1.6.0-2

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a3ce9f86d717c291474d510cab9ef790a9425885

Git commit 96f2f93dc920c72c0aa29f5d37133d5e83bf6b20 by Héctor Orón Martínez on 23/09/2014 at 23:01..
d/control: update VCS URL

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/96f2f93dc920c72c0aa29f5d37133d5e83bf6b20

Git commit 1c166b50e5f6729aaa99149138140c51d46774fa by Héctor Orón Martínez on 23/09/2014 at 23:03..
d/control: also update vcs browser URL

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1c166b50e5f6729aaa99149138140c51d46774fa

Git commit ff2df60b1a07c3d26d170e65cd5440d15cdf3088 by Pekka Paalanen on 01/10/2014 at 08:50..
protocol: define the concept of wl_surface role

Define what a role is, and what restrictions there are.

A change to existing behaviour is that a role cannot be changed at all
once set. However, this is unlikely to cause problems, as there is no
reason to re-use wl_surfaces in clients.

v2: give more concrete examples of roles, define losing a role, Jasper
rewrote the paragraph on how a role is set.

v3: make role permanent, there is no such thing as "losing a role".
Re-issuing the same role again must be allowed for wl_pointer.set_cursor
et al. to work.

v4: clarify the semantics of destroying a role object.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ff2df60b1a07c3d26d170e65cd5440d15cdf3088

Git commit a27501f40e9a369ed5d4c655674130e76214281f by Pekka Paalanen on 01/10/2014 at 08:50..
protocol: wl_pointer.set_cursor gives a role

Now that we have defined "role", use the term.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a27501f40e9a369ed5d4c655674130e76214281f

Git commit 58743c29f8a766657affbf6c277ab108b0385e08 by Pekka Paalanen on 01/10/2014 at 08:50..
protocol: wl_data_device.start_drag may give a role

Now that we have defined "role", use the term.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/58743c29f8a766657affbf6c277ab108b0385e08

Git commit 96fdcfaec7c6617a77cd2d00ffc02b4476575d28 by Pekka Paalanen on 01/10/2014 at 08:50..
protocol: wl_subcompositor.get_subsurface gives a role

Reword the conditions to make use of the definition of "role".

It is still forbidden to create more than one wl_subsurface for a
wl_surface at a time.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/96fdcfaec7c6617a77cd2d00ffc02b4476575d28

Git commit aee813f1ffae7cc20ea57070a08814980acc2beb by Pekka Paalanen on 01/10/2014 at 08:50..
protocol: wl_shell.get_shell_surface gives a role

Now that we have defined "role", use the term.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aee813f1ffae7cc20ea57070a08814980acc2beb

Git commit 7a0b86ab22e026387b6d529a46d8eb416caa26fa by Pekka Paalanen on 08/10/2014 at 10:09..
protocol: define error codes for role reassignment

On the interfaces where it was missing:
- wl_data_device
- wl_shell
- wl_pointer
add an error code for requests that set a wl_surface role when the
wl_surface already has a different role.

This is needed for compositors to appropriately report wl_surface
role violations.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jasper St. Pierre <jstpierre at mecheye.net>
Acked-by: Jason Ekstrand <jason.ekstrand at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7a0b86ab22e026387b6d529a46d8eb416caa26fa

Git commit 37ffae316431d0afaa8687f355bb175093d736aa by Daniel Stone on 08/10/2014 at 11:20..
README: Tiny cosmetic change
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/37ffae316431d0afaa8687f355bb175093d736aa

Git commit 5b353ad44d15d416a78b0bcea9114cb3c27f7a6e by Pekka Paalanen (on behalf of Benjamin Herr) on 03/11/2014 at 13:09..
doc: Mark up some code examples

These blocks were misformatted in normal paragraph style in the
generated docs. Also, added \comment{} for comments within one code
example.

Signed-off-by: Benjamin Herr <ben at 0x539.de>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5b353ad44d15d416a78b0bcea9114cb3c27f7a6e

Git commit 6b511090c5d9ec9116538c9a6cc97a7487bbca75 by Pekka Paalanen (on behalf of Benjamin Herr) on 03/11/2014 at 13:51..
doc: Mostly use apply-templates over value-of

xsl:value-of would strip all the nested markup of the selected doxygen
elements, so that \ref, \sa and \code formatting didn't actually work.

Signed-off-by: Benjamin Herr <ben at 0x539.de>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6b511090c5d9ec9116538c9a6cc97a7487bbca75

Git commit 4a661c5b0c9c66102a142cd8d327dcad8007f1d7 by Pekka Paalanen (on behalf of Benjamin Herr) on 03/11/2014 at 13:53..
doc: Translate doxygen <sp/> tags to spaces

Doxygen represents all spacing in code blocks with <sp/> tags, so these
need to be turned back into spaces.

Signed-off-by: Benjamin Herr <ben at 0x539.de>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a661c5b0c9c66102a142cd8d327dcad8007f1d7

Git commit 391820b0d6d9fcd99e12cd32623a476da64c89ce by Pekka Paalanen (on behalf of Benjamin Herr) on 04/11/2014 at 09:26..
connection: Leave fd open in wl_connection_destroy

Calling close() on the same file descriptor that a previous call to
close() already closed is wrong, and racy if another thread received
that same file descriptor as a eg. new socket or actual file.

There are two situations where wl_connection_destroy() would close its
file descriptor and then another function up in the call chain would
close the same file descriptor:

  * When wl_client_create() fails after calling wl_connection_create(),
    it will call wl_connection_destroy() before returning. However, its
    caller will always close the file descriptor if wl_client_create()
    fails.

  * wl_display_disconnect() unconditionally closes the display file
    descriptor and also calls wl_connection_destroy().

So these two seem to expect wl_connection_destroy() to leave the file
descriptor open. The other caller of wl_connection_destroy(),
wl_client_destroy(), does however expect wl_connection_destroy() to
close its file descriptor, alas.

This patch changes wl_connection_destroy() to indulge this majority of
two callers by simply not closing the file descriptor. For the benefit
of wl_client_destroy(), wl_connection_destroy() then returns the
unclosed file descriptor so that wl_client_destroy() can close it
itself.

Since wl_connection_destroy() is a private function called from few
places, changing its semantics seemed like the more expedient way to
address the double-close() problem than shuffling around the logic in
wl_client_create() to somehow enable it to always avoid calling
wl_connection_destroy().

Signed-off-by: Benjamin Herr <ben at 0x539.de>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/391820b0d6d9fcd99e12cd32623a476da64c89ce

Git commit 322cd6dded6db0f82e04c2b7ac9d5eb073e41ebc by Pekka Paalanen (on behalf of Derek Foreman) on 04/11/2014 at 11:01..
cosmetic: convert some function returns from int to bool

[Pekka Paalanen: change is_nullable_type() return value to bool.]

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/322cd6dded6db0f82e04c2b7ac9d5eb073e41ebc

Git commit 0953e126d7836781a3310e85c9b5a0e6408b2a49 by Pekka Paalanen (on behalf of kabeer khan) on 04/11/2014 at 13:04..
Protocol : Added destructor to wl_data_device interface

[Pekka Paalanen: removed trailing whitespace, adjust bz link.]

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=81745
Signed-off-by: kabeer khan <kabeer.khan at samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0953e126d7836781a3310e85c9b5a0e6408b2a49

Git commit cb00e27039d3b1b4475150b2468066adb99984dc by Pekka Paalanen (on behalf of Philip Withnall) on 05/11/2014 at 12:13..
connection: Fix sendmsg() on FreeBSD

It expects ((msg_controllen == 0) == (msg_control == NULL)), and returns
EINVAL otherwise. It can't hurt to be tidy about things on other platforms
either though.

See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=99356#c5

Signed-off-by: Philip Withnall <philip at tecnocode.co.uk>
Signed-off-by: Karsten Otto <ottoka at posteo.de>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cb00e27039d3b1b4475150b2468066adb99984dc

Git commit b096693bef569ce463b5444ce654e62293978f8c by Pekka Paalanen (on behalf of Philip Withnall) on 05/11/2014 at 12:17..
event-loop.c: Use correct OS abstraction function for dupfd()

Signed-off-by: Philip Withnall <philip at tecnocode.co.uk>
Signed-off-by: Karsten Otto <ottoka at posteo.de>
Reviewed-by: David Fort <contact at hardening-consulting.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b096693bef569ce463b5444ce654e62293978f8c

Git commit a434b7ba8e1fb2f639736b79f6bff668256060b8 by Pekka Paalanen (on behalf of Philip Withnall) on 05/11/2014 at 12:24..
wayland-server: Abort if a read from a client gives 0 length

This happens on EOF if using a poll function such as select() or
kqueue() which doesn’t distinguish EOF events.

Currently execution should never reach the point where recvmsg() returns
EOF (len == 0). Instead, epoll() will detect this and indicate EPOLLHUP,
which is handled a few lines above, closing the connection. However,
other event mechanisms may not be able to distinguish EOF from regular
readability (in the case of select()) or inconsistently across platforms
(in the case of POLLHUP). There is also the possibility of half-closed
connections (shutdown(), POLLRDHUP), though this may not be an issue
with Wayland.

This will not cause problems if the FD polls as readable but actually is
not — in that case, recvmsg() will return EAGAIN.

Signed-off-by: Philip Withnall <philip at tecnocode.co.uk>
Signed-off-by: Karsten Otto <ottoka at posteo.de>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a434b7ba8e1fb2f639736b79f6bff668256060b8

Git commit 2097414a7c8febf89305e1945f51d7fa9972c41f by Pekka Paalanen (on behalf of Philip Withnall) on 05/11/2014 at 12:26..
queue-test: Add another assertion

Ensure that the round trip succeeds.

Signed-off-by: Philip Withnall <philip at tecnocode.co.uk>
Signed-off-by: Karsten Otto <ottoka at posteo.de>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2097414a7c8febf89305e1945f51d7fa9972c41f

Git commit ba6b79c577e4792f35beb471a8d429475aacf3ad by Pekka Paalanen (on behalf of Marek Chalupa) on 10/11/2014 at 12:00..
tests: use our own XDG_RUNTIME_DIR for tests

Use $XDG_RUNTIME_DIR/wayland-tests for tests. This way we won't be
messing XDG_RUNTIME_DIR and it also fixes a bug, when socket-test
failed when another compositor was running.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba6b79c577e4792f35beb471a8d429475aacf3ad

Git commit ff769d8faed7adb6747423a17fbdf11f87b67f64 by Pekka Paalanen (on behalf of Imran Zaman) on 10/11/2014 at 13:25..
scanner, client: Added more error checks when strtol function is used

Signed-off-by: Imran Zaman <imran.zaman at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ff769d8faed7adb6747423a17fbdf11f87b67f64

Git commit 94f1718c50588733c639a06e1d3f81228da23eea by Pekka Paalanen (on behalf of Bryce Harrington) on 11/11/2014 at 10:41..
Don't document an absent parameter.

Quells a doxygen warning:

  src/wayland-server.c:790: warning: argument 'None' of command @param is
  not found in the argument list of wl_display::wl_display_create(void)

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/94f1718c50588733c639a06e1d3f81228da23eea

Git commit 754ce18135c778c378bd09b19d9e1e84a5578b07 by Pekka Paalanen (on behalf of Srivardhan Hebbar) on 11/11/2014 at 11:30..
doc: Added API documentation for wl_display_destroy and wl_display_add_socket functions.

Signed-off-by: Srivardhan Hebbar <sri.hebbar at samsung.com>
[Pekka Paalanen: minor re-wording.]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/754ce18135c778c378bd09b19d9e1e84a5578b07

Git commit 9d327c579606cb05928d34bf7a33b2ff581a76fc by Pekka Paalanen (on behalf of Carlos Olmedo Escobar) on 12/11/2014 at 10:48..
Remove useless semicolon.

Signed-off-by: Carlos Olmedo Escobar <carlos.olmedo.e at gmail.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9d327c579606cb05928d34bf7a33b2ff581a76fc

Git commit 47c752ad82d4475d6f4f605423c93bb29e679bf8 by Pekka Paalanen (on behalf of Ryo Munakata) on 12/11/2014 at 12:00..
connection: abort if a listener function is NULL

Signed-off-by: Ryo Munakata <ryomnktml at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/47c752ad82d4475d6f4f605423c93bb29e679bf8

Git commit 7bf8049c484959f7ccc3262724466172dce786b6 by Pekka Paalanen (on behalf of Marek Chalupa) on 17/11/2014 at 14:45..
tests: add timeout

Add test_set_timeout() function that allows the test to
set timeout for its completition. Any other call to the function
re-sets the timeout to the new value. The timeouts can be turned off
(usefull when debugging) by setting evironment variable
WAYLAND_TESTS_NO_TIMEOUTS.

v2:
  rename NO_TIMEOUTS to WAYLAND_TESTS_NO_TIMEOUTS
  use unsigned int as argument of test_set_timeout()
  improve printing of the message about timeout

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7bf8049c484959f7ccc3262724466172dce786b6

Git commit 6ebe55060e6337f56e295032cc776fce694acbdb by Pekka Paalanen (on behalf of Marek Chalupa) on 17/11/2014 at 14:48..
tests: add test_usleep and test_sleep functions

The former one was already used in tests, but was private.
These functions can be shared across the tests, so make them
public.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6ebe55060e6337f56e295032cc776fce694acbdb

Git commit 1d2ef9ee082407b1970c26d0ad799703c2e76aa1 by Pekka Paalanen (on behalf of Marek Chalupa) on 17/11/2014 at 14:51..
tests: add timeout tests

sanity tests for timeouts.

v2:
  use test_sleep instead of sleep
  add few more test-cases

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1d2ef9ee082407b1970c26d0ad799703c2e76aa1

Git commit bbbdff88b1d90cd9f843aab3c06f02dada3741ad by Pekka Paalanen (on behalf of Marek Chalupa) on 17/11/2014 at 14:58..
tests: use test_set_timeout in display-test

replace call to alarm() with test_set_timeout()

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Giulio Camuffo <giuliocamuffo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bbbdff88b1d90cd9f843aab3c06f02dada3741ad

Git commit cf11e9dfbe41d84d537ca11453abbca17170d146 by Pekka Paalanen (on behalf of Marek Chalupa) on 17/11/2014 at 14:59..
queue-test: put back timeout

In 93e654061b9 we removed call to alarm() that served as timeout in this test.
Now when we have test_set_timeout() func, return the timeout back.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cf11e9dfbe41d84d537ca11453abbca17170d146

Git commit 4d617b83a7cbdb2eefb72796fc971564743e2bc5 by Pekka Paalanen (on behalf of Marek Chalupa) on 19/11/2014 at 11:51..
tests: don't print '\0' character

print "" (which results in no output) instead of
printing '\0' (which is not visible, but is there)

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4d617b83a7cbdb2eefb72796fc971564743e2bc5

Git commit 059220549cd080bae970a802856b2c44b2eeb3cc by Pekka Paalanen (on behalf of Olivier Blin) on 19/11/2014 at 14:35..
gitignore: adpat to scanner and protocol path changes

Since commit 4c163b9b001bd93aaf97d7e962873a379eb90bfd, wayland-scanner
is built in top builddir instead of src, and protocol files are
generated in protocol subdir instead of src.
Protocol files generated in the new path are already properly ignored
in the toplevel gitignore file.

Signed-off-by: Olivier Blin <olivier.blin at softathome.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/059220549cd080bae970a802856b2c44b2eeb3cc

Git commit 59f255d66e4dad89f633deec535482faa8bd8561 by Pekka Paalanen (on behalf of Marek Chalupa) on 21/11/2014 at 11:59..
client: read_events should return -1 after an error

When a thread is sleeping, waiting until another thread read
from the display, it always returns 0. Even when an error
occured. In documentation stands:

  "return 0 on success or -1 on error.  In case of error errno will
   be set accordingly"

So this is a fix for this.

Along with the read_events, fix a test so that it now complies
with this behaviour (and we have this tested)

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/59f255d66e4dad89f633deec535482faa8bd8561

Git commit 11560a8d15435b06633659266b23128426d02ffc by Pekka Paalanen (on behalf of Imran Zaman) on 24/11/2014 at 14:32..
server: increase listen queue to 128

This will allow more than 1 simultaneous client connections to the server
without the possibility of connection refused error.

Signed-off-by: Imran Zaman <imran.zaman at gmail.com>

http://utcc.utoronto.ca/~cks/space/blog/unix/ListenBacklogMeaning
http://stackoverflow.com/questions/19221105/connect-with-unix-domain-socket-and-full-backlog
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/11560a8d15435b06633659266b23128426d02ffc

Git commit d8f045ec1f8f48049b9c5e4e589e43b1cf3813d8 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 13:45..
doc: make rebuilds doxygen output on code changes

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d8f045ec1f8f48049b9c5e4e589e43b1cf3813d8

Git commit c532b571e3401aab8b61a0e267979d1ed558cd87 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:04..
doc: Preserve spaces

Slight variation on Pekka's patch. It seems harmless to put this anywhere.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c532b571e3401aab8b61a0e267979d1ed558cd87

Git commit ba8ea938d2121cf98581f0316f4ded48d412e215 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:14..
doc: preserve links produced by Doxygen

These links are pretty useful for navigation, though sometimes excessive
(you can turn them off by putting % before the word in the comment).

I had to turn off validation because it failed on missing and duplicate
target id's, which this produces.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba8ea938d2121cf98581f0316f4ded48d412e215

Git commit f2974c1115dd2191e1352574283ca43729eaf7b8 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:21..
doc: Don't print dash if doxygen brief description missing
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f2974c1115dd2191e1352574283ca43729eaf7b8

Git commit dd534a1fde4ffcb76be10810963832aea5f95a25 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:25..
doc: removed some unnecessary nested listing from doxygen output

This makes the lists of parameters slightly smaller and removes some
bullets from see-also and since.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dd534a1fde4ffcb76be10810963832aea5f95a25

Git commit 40aa80a4082975d1598f4896a751c0562be9016b by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:27..
doc: Added \code tags around sample code in doxygen comments

Also removed \comment and used C++ comments. There does not appear
to be any other way to put comments into code samples.

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/40aa80a4082975d1598f4896a751c0562be9016b

Git commit 5e79171cf16de84ee8e89b3fd3af4d39dcbd4171 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:36..
v4 doc: fixed reference to non-existent function

(Fixed to remove accidental commit of another change)

After some feedback from Marek Chalupa I decided to just remove this. There
were suggestions about warning about multiple threads but it appears this
would be true for many of these functions and thus it would be misleading to
mention multiple threads only here (as it would imply that multiple threads
work for other functions which is not true, I think).

Acked-by: Marek Chalupa <mchqwerty at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e79171cf16de84ee8e89b3fd3af4d39dcbd4171

Git commit f73f76775fa034e8a5f7b6347f38880df3d94e91 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:38..
doc: fixed a typo

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f73f76775fa034e8a5f7b6347f38880df3d94e91

Git commit dfdb0878264b72d49c263b87952f9fec85e278c2 by Pekka Paalanen (on behalf of Bill Spitzak) on 25/11/2014 at 14:38..
doc: Removed \ref when it refers to the subject the text is attached to

This does not make a difference to doxygen output but may help other
document generators not make redundant links.

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dfdb0878264b72d49c263b87952f9fec85e278c2

Git commit 266b7f06bee13b06f2a73cb7330382de69cbf1ce by Pekka Paalanen (on behalf of Bill Spitzak) on 26/11/2014 at 11:34..
doc: Removed extra indentation from wl_list code sample

This is a minor documentation fix. I did not see any asterisks in the
output as reported by Pekka Paalanen. Using doxygen 1.7.6.1.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/266b7f06bee13b06f2a73cb7330382de69cbf1ce

Git commit e36d0233ee2d4e31a27c5e4b7b3a39c872267a69 by Pekka Paalanen (on behalf of Derek Foreman) on 27/11/2014 at 14:00..
doc: fixed grammar and a typo

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e36d0233ee2d4e31a27c5e4b7b3a39c872267a69

Git commit 93e352d05808820664f8bcb362785d1861b78ccb by Pekka Paalanen (on behalf of Seedo Eldho Paul) on 28/11/2014 at 10:37..
scanner.c: Use WL_PRINTF instead of __attribute__((format(printf)))

Signed-off-by: Seedo Eldho Paul <seedoeldhopaul at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/93e352d05808820664f8bcb362785d1861b78ccb

Git commit bef2948348748d1144b2b620fb8fb4bcdd5c0e02 by Pekka Paalanen (on behalf of Marek Chalupa) on 28/11/2014 at 11:27..
tests: rename env vars for tests

Rename WAYLAND_TESTS_NO_TIMEOUTS to WAYLAND_TEST_NO_TIMEOUTS.
Further rename NO_ASSERT_LEAK_CHECK to WAYLAND_TEST_NO_LEAK_CHECK.
Now the naming is consistent not only here, in Wayland, but even with
naming of weston env varibles related to testing.

This is version 2 of the patch. The first version just renamed
NO_ASSERT_LEAK_CHECK to WAYLAND_TEST_NO_LEAK_CHECK.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bef2948348748d1144b2b620fb8fb4bcdd5c0e02

Git commit 57050589b6e6242e1aa2b395444013c19bb19ee7 by Pekka Paalanen (on behalf of Marek Chalupa) on 28/11/2014 at 12:04..
test-runner: print separator line after each test-case

Who can read the output when it is a single piece of text?

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/57050589b6e6242e1aa2b395444013c19bb19ee7

Git commit 0e1cc7aba7b28ff40d91c3d0c0dba834f72d2486 by Pekka Paalanen (on behalf of Marek Chalupa) on 28/11/2014 at 13:50..
tests: use color when printing on terminal

Colorize output of the tests when prinitng on terminal.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0e1cc7aba7b28ff40d91c3d0c0dba834f72d2486

Git commit c3653f7f61c9ced4f3e0243dc6f39f1efbe45c86 by Pekka Paalanen (on behalf of Marek Chalupa) on 01/12/2014 at 09:49..
tests: detect if debugger is attached

Copy function from libinput/test/litest.c is_debugger_detached()
and use it in our test-runner. If debugger is attached, turn off
leak checks and timeouts automatically.

Revision of libinput: 028513a0a723e97941c39c4aeb17433198723913

v2. rebased to master

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c3653f7f61c9ced4f3e0243dc6f39f1efbe45c86

Git commit fdb519be08b35c7d9659b0476aec78c170f7680d by Pekka Paalanen (on behalf of Marek Chalupa) on 01/12/2014 at 10:04..
tests: split queue-test testcases

All the test-cases are in one test atm. It doesn't matter for the
outcome, but when it is split to more tests, the debugging and reading
the output is simpler.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fdb519be08b35c7d9659b0476aec78c170f7680d

Git commit e118c111783f89635986fecdd7990ce7dcb1363b by Pekka Paalanen (on behalf of Marek Chalupa) on 01/12/2014 at 10:34..
tests: fix memory leak

We didn't free the struct client that we got from client_connect()

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e118c111783f89635986fecdd7990ce7dcb1363b

Git commit 8cda738a682d736ae07afa483daa9724fbe4815b by Pekka Paalanen (on behalf of Jon A. Cruz) on 01/12/2014 at 13:21..
doc: Removed redundant xslt output elements.

Removed <xsl:output> elements that were duplicated but with attributes in
a different order. Standard tools are required to ignore the order of
attributes in an element.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8cda738a682d736ae07afa483daa9724fbe4815b

Git commit 962de0d0cc53f6ec737d18e6f8f9483d05e41dbb by Pekka Paalanen (on behalf of Jon A. Cruz) on 05/12/2014 at 14:16..
doc: Invoke doxygen via the defined make variable.

Invoke doxygen via the autoconf-defined make variable instead of directly.
This brings it in line with standard makefile practices.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/962de0d0cc53f6ec737d18e6f8f9483d05e41dbb

Git commit 0093164f85c7fdb5de4c45b6e3261d9c3c3ddcf4 by Pekka Paalanen (on behalf of Bill Spitzak) on 05/12/2014 at 14:56..
doc: removed redundant dependency

The .tmp file dependency depends on the index.xml file so it does not need to
be repeated.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0093164f85c7fdb5de4c45b6e3261d9c3c3ddcf4

Git commit 9ca542db4efcc912a28ca88f27875cdf65429a66 by Pekka Paalanen (on behalf of Bill Spitzak) on 05/12/2014 at 14:58..
doc: Remove duplicated descriptions of wayland objects

This text is a duplicate of the text in the protocol documentation, but
the converter mangled it by removing the paragraph breaks and some other
errors. Instead replace it with a list of links to the protocol docs.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9ca542db4efcc912a28ca88f27875cdf65429a66

Git commit 480b437cd87b6c268b083c970dfbfbd8ff1a0dae by Pekka Paalanen (on behalf of Jon A. Cruz) on 08/12/2014 at 08:07..
doc: Add config check for doxygen 1.6.0+.

Add a config time check for a new enough (1.6.0+) version of doxygen.

v2. require 1.6.0+ instead of 1.8.0+

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/480b437cd87b6c268b083c970dfbfbd8ff1a0dae

Git commit 77939736fb613896fb9f5d262cd877acfb2728d2 by Pekka Paalanen (on behalf of Marek Chalupa) on 09/12/2014 at 16:03..
client: update obsolete comments

1) there is nothing like main thread since
   3c7e8bfbb4745315b7bcbf69fa746c3d6718c305 anymore, so remove
   it from documentation and update the doc accordingly.

2) use calling 'default queue' instead of 'main queue'. In the code
   we use display->default_queue, so it'll be easier the understand.

3) update some obsolete or unprecise pieces of documentation

v2. Not only remove out-of-date comment, but fix/remove more
    things across the wayland-client.[ch]

v3. fixes (rephrasing unclear paragraphs etc.)
    according to Pakka Paalanen notes (thanks)

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/77939736fb613896fb9f5d262cd877acfb2728d2

Git commit 434fd45e4b62a5e410020bbc124d8e3460729aa2 by Pekka Paalanen (on behalf of Marek Chalupa) on 09/12/2014 at 16:05..
client: update documentation about threading

Remove out-dated documentation and add few more words
about this topic.

v2. replace a paragraph by better explanation from Pekka Paalanen
    fix other notes from reviewing

v3. fix typo

v4. fix flags for poll in an example

    add wl_display_cancel_read() to another example
    (so that user sees that it should be used)

    move proper use of wl_display_prepare_read
    before the explanation why it is wrong to use
    wl_display_displach

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/434fd45e4b62a5e410020bbc124d8e3460729aa2

Git commit dec30252b0a85930237bbe3369ea0bf378a603ec by Pekka Paalanen (on behalf of Jon A. Cruz) on 16/12/2014 at 14:48..
doc: General makefile cleanup.

This is a general cleanup of the makefile in order to bring it more inline
with standard make practices. Cleanups included more use of automatic
variables, switching AM_V_GEN to AM_V_at to have one 'GEN' visible per file,
splitting copy operations to proper rules, and using order only dependencies
to properly create directories on-demand.

Changes also correct missing use of $(builddir) that has gone unnoticed as
it defaults to the current directory ('.').

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dec30252b0a85930237bbe3369ea0bf378a603ec

Git commit 163ce87cd732702328f76d20f24099041bb119ec by Pekka Paalanen (on behalf of Jon A. Cruz) on 16/12/2014 at 14:52..
doc: Minor makefile cleanup.

Split out directory creation to leverage order only prerequisites.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/163ce87cd732702328f76d20f24099041bb119ec

Git commit 0b788154da926c635ca48628f46fac1d3c9eb5ca by Pekka Paalanen (on behalf of Bill Spitzak) on 16/12/2014 at 15:05..
doc: fix doxygen->man command line

It was telling it to scan the doxyfile as well as the C source, and
listing some source files more than once.

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0b788154da926c635ca48628f46fac1d3c9eb5ca

Git commit c985a17988e4df48618b6687dfddfb18a94793e1 by Pekka Paalanen (on behalf of Bill Spitzak) on 16/12/2014 at 15:07..
doc: Split libwayland-client and -server into different pages

This was suggested before to make it clearer that things like wl_display
are different objects in each of them. I made these into two appendixes
because the protocol spec was already an appendix.

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
[Bryce requested minor changes, not yet here.]

Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c985a17988e4df48618b6687dfddfb18a94793e1

Git commit 3f05c4ac4a747f5296f24424925eda292ccbe7d4 by Pekka Paalanen (on behalf of Bill Spitzak) on 18/12/2014 at 13:07..
doc: fix for parallel make

Move the *_8h.xml files to a per-chapter temporary file so two
chapters can be converted from doxygen at the same time. Tested
with make -j 9.

Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3f05c4ac4a747f5296f24424925eda292ccbe7d4

Git commit 6e3ad249adbf527e70d89fdb7dd25e289929f1a2 by Pekka Paalanen (on behalf of Bill Spitzak) on 18/12/2014 at 13:13..
doc: Make it easier to add a new doxygen page

The repetitive parts of generating the server and client documentation are
merged, so it is easier to add another doxygen chapter: add a new line to
$publican_sources in publican/Makefile.am, and a list of C source files to
doxygen/Makefile.am.

Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6e3ad249adbf527e70d89fdb7dd25e289929f1a2

Git commit 75ec915da87acf3e75a408586ac8468a038b699a by Pekka Paalanen (on behalf of Bill Spitzak) on 18/12/2014 at 13:23..
fixup doc: Make it easier to add a new doxygen page

This supersedes the previous one and fixes a typo where a slash was missing.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/75ec915da87acf3e75a408586ac8468a038b699a

Git commit dfc64f9ffe0ceecf8e93d6eba3fdb7b1165c9c43 by Pekka Paalanen (on behalf of Bill Spitzak) on 19/12/2014 at 14:10..
doc: Reduce the validation errors of the docbook input

(this is different from previous version as it removes some
broken and irrelevant changes to the protocol appendix).

This removes all the validation errors except for missing link
targets. You can test this by removing the --skip-validation
from doc/publican/Makefile.am.

Main changes are to avoid nesting <para> commands. I also used
<simpara> in some places to reduce the amount of blank space.
And the reference id's are prefixed with the chapter name to
avoid collisions between libclient and libserver.

PS: it would be useful if somebody who actually knows something
about xslt would come up with a way to translate a block of text
makde of <para> commands unchanged, but add <para> around plain
text. Most of the difficulty is that doxygen's output is rather
inconsistent here.

Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dfc64f9ffe0ceecf8e93d6eba3fdb7b1165c9c43

Git commit 4abe5edf46f1b1417394c3186e2056673bc358d3 by Pekka Paalanen (on behalf of Bill Spitzak) on 19/12/2014 at 14:15..
doc: removed the word "interface" from the link names

Just to make it slightly shorter.

Also add a dash to the doxygen links to make them look a bit more alike.

Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4abe5edf46f1b1417394c3186e2056673bc358d3

Git commit f980a60038e06156d8462ed1c2881db456ad25c8 by Pekka Paalanen (on behalf of Bill Spitzak) on 19/12/2014 at 14:21..
doc: Each class in doxygen output is a section

All the methods belonging to the class are listed with it, making
it much easier to find them.

I dumped all other functions into a section called "Functions" at
the end.

Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f980a60038e06156d8462ed1c2881db456ad25c8

Git commit 0d0a62c79a65c5961db5f108fc4bff84691f8f1c by Pekka Paalanen (on behalf of Bill Spitzak) on 19/12/2014 at 14:27..
doc: Document structures and unions in addition to classes

This provides targets for some of the doxygen links, and some of
them have useful memberof function lists.

Added some if/else statements to reduce validation errors.

Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0d0a62c79a65c5961db5f108fc4bff84691f8f1c

Git commit 2888e97d5ddf54eb8e90cb686df8ae1a016c0412 by Pekka Paalanen (on behalf of Bill Spitzak) on 19/12/2014 at 14:33..
doc: make itemized lists from doxygen work

Not actually used currently but probably a good idea.

Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2888e97d5ddf54eb8e90cb686df8ae1a016c0412

Git commit cd187ef77b0460272fbc8b1bacf9ae58655b9f7b by Bryce Harrington (on behalf of Jonas Ådahl) on 12/01/2015 at 23:22..
scanner: Improve XML parse error reporting

Print the parse error and exit with a failure if expat can't parse the
XML.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cd187ef77b0460272fbc8b1bacf9ae58655b9f7b

Git commit 9858dde849037e1efff6b2102750e18bfcd9a681 by Bryce Harrington (on behalf of Jonas Ådahl) on 12/01/2015 at 23:22..
scanner: Remove stray newline

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9858dde849037e1efff6b2102750e18bfcd9a681

Git commit 83db2f651d0bfd0d363fa2e127fef3017e0ca572 by Bryce Harrington (on behalf of Daniel Stone) on 14/01/2015 at 00:05..
README: Tiny cosmetic change
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/83db2f651d0bfd0d363fa2e127fef3017e0ca572

Git commit 18cb5432ff8d12065d091b8a0b4508d5734742ae by Bryce Harrington (on behalf of Philip Withnall) on 14/01/2015 at 00:05..
connection: Fix sendmsg() on FreeBSD

It expects ((msg_controllen == 0) == (msg_control == NULL)), and returns
EINVAL otherwise. It can't hurt to be tidy about things on other platforms
either though.

See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=99356#c5

Signed-off-by: Philip Withnall <philip at tecnocode.co.uk>
Signed-off-by: Karsten Otto <ottoka at posteo.de>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/18cb5432ff8d12065d091b8a0b4508d5734742ae

Git commit a1e4cabff5e4393c6fed1095966e3180789cdabe by Bryce Harrington (on behalf of Philip Withnall) on 14/01/2015 at 00:05..
event-loop.c: Use correct OS abstraction function for dupfd()

Signed-off-by: Philip Withnall <philip at tecnocode.co.uk>
Signed-off-by: Karsten Otto <ottoka at posteo.de>
Reviewed-by: David Fort <contact at hardening-consulting.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a1e4cabff5e4393c6fed1095966e3180789cdabe

Git commit ca0ee8315779ae2e9c420e3d97fb94f8d21c5cae by Bryce Harrington (on behalf of Philip Withnall) on 14/01/2015 at 00:05..
wayland-server: Abort if a read from a client gives 0 length

This happens on EOF if using a poll function such as select() or
kqueue() which doesn’t distinguish EOF events.

Currently execution should never reach the point where recvmsg() returns
EOF (len == 0). Instead, epoll() will detect this and indicate EPOLLHUP,
which is handled a few lines above, closing the connection. However,
other event mechanisms may not be able to distinguish EOF from regular
readability (in the case of select()) or inconsistently across platforms
(in the case of POLLHUP). There is also the possibility of half-closed
connections (shutdown(), POLLRDHUP), though this may not be an issue
with Wayland.

This will not cause problems if the FD polls as readable but actually is
not — in that case, recvmsg() will return EAGAIN.

Signed-off-by: Philip Withnall <philip at tecnocode.co.uk>
Signed-off-by: Karsten Otto <ottoka at posteo.de>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ca0ee8315779ae2e9c420e3d97fb94f8d21c5cae

Git commit 3170fdfbc3fc44268a9b4a20248b2ba87f9de049 by Bryce Harrington (on behalf of Imran Zaman) on 14/01/2015 at 00:05..
scanner, client: Added more error checks when strtol function is used

Signed-off-by: Imran Zaman <imran.zaman at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3170fdfbc3fc44268a9b4a20248b2ba87f9de049

Git commit b03167e01f202b352bdead5aa8f71f8ad0587fd7 by Bryce Harrington (on behalf of Srivardhan Hebbar) on 14/01/2015 at 00:05..
doc: Added API documentation for wl_display_destroy and wl_display_add_socket functions.

Signed-off-by: Srivardhan Hebbar <sri.hebbar at samsung.com>
[Pekka Paalanen: minor re-wording.]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b03167e01f202b352bdead5aa8f71f8ad0587fd7

Git commit 31719a9535e3520bd7b689fb8d4d664a6391182e by Bryce Harrington (on behalf of Carlos Olmedo Escobar) on 14/01/2015 at 00:05..
Remove useless semicolon.

Signed-off-by: Carlos Olmedo Escobar <carlos.olmedo.e at gmail.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/31719a9535e3520bd7b689fb8d4d664a6391182e

Git commit 43adb111daa5776ab351db9132bd97a11db4cccf by Bryce Harrington (on behalf of Ryo Munakata) on 14/01/2015 at 00:05..
connection: abort if a listener function is NULL

Signed-off-by: Ryo Munakata <ryomnktml at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/43adb111daa5776ab351db9132bd97a11db4cccf

Git commit 8997c4be71cb95c9cf7acfedeb25a4c0198c81b3 by Bryce Harrington (on behalf of Marek Chalupa) on 14/01/2015 at 00:05..
client: read_events should return -1 after an error

When a thread is sleeping, waiting until another thread read
from the display, it always returns 0. Even when an error
occured. In documentation stands:

  "return 0 on success or -1 on error.  In case of error errno will
   be set accordingly"

So this is a fix for this.

Along with the read_events, fix a test so that it now complies
with this behaviour (and we have this tested)

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8997c4be71cb95c9cf7acfedeb25a4c0198c81b3

Git commit a9e1d6f143c0ac0adb682103b3830d8eadc560b9 by Bryce Harrington (on behalf of Bill Spitzak) on 14/01/2015 at 00:05..
doc: fixed a typo

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a9e1d6f143c0ac0adb682103b3830d8eadc560b9

Git commit 3b7f9db591fe33096ceb5dec4fed7c3559d66ff2 by Bryce Harrington (on behalf of Derek Foreman) on 14/01/2015 at 00:05..
doc: fixed grammar and a typo

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3b7f9db591fe33096ceb5dec4fed7c3559d66ff2

Git commit 66bc781317836c57f39c9e8872d2ccd8dfe43726 by Bryce Harrington (on behalf of Marek Chalupa) on 14/01/2015 at 00:05..
tests: fix memory leak

We didn't free the struct client that we got from client_connect()

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/66bc781317836c57f39c9e8872d2ccd8dfe43726

Git commit b7f9925abccd787b54148814057052bbd6368ba6 by Bryce Harrington on 17/01/2015 at 11:39..
configure.ac: bump version to 1.6.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b7f9925abccd787b54148814057052bbd6368ba6

Git commit 244a72bfe8abf78213298a4d20cebca8e4a69553 by Bryce Harrington on 23/01/2015 at 20:42..
configure.ac: bump version to 1.6.1 for stable release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/244a72bfe8abf78213298a4d20cebca8e4a69553

Git commit 434d797d273cb9a1c57e15902da6480d4c62fc83 by Bryce Harrington (on behalf of Jonas Ådahl) on 24/01/2015 at 02:20..
protocol: Fix typo in wl_data_offer

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/434d797d273cb9a1c57e15902da6480d4c62fc83

Git commit 5ce947bd9043c989e2caa4a6053e542b048a5718 by Bryce Harrington (on behalf of Jonas Ådahl) on 24/01/2015 at 02:20..
protocol: Clarify selection data offer destruction requirement

Clarify that a client receiving a wl_data_device.selection event must
destroy the data_offer of the previous wl_data_device.selection event,
if any.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5ce947bd9043c989e2caa4a6053e542b048a5718

Git commit ab3ee6f6d96c2e9adc3808975fdaf1727e5ff48e by Bryce Harrington (on behalf of Jonas Ådahl) on 24/01/2015 at 02:20..
server: Use existing id variable when inserting created object

We already have the id variable there and it makes it slightly easier to
read.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ab3ee6f6d96c2e9adc3808975fdaf1727e5ff48e

Git commit 594ec7e6893db1b15178cc748b7027692acb7c2f by Bryce Harrington (on behalf of Bill Spitzak) on 24/01/2015 at 02:44..
doc: add missing \memberof to wl_display_get_protocol_error

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/594ec7e6893db1b15178cc748b7027692acb7c2f

Git commit 074e120cb3ec373b5594cc29280b4622d18c422d by Bryce Harrington (on behalf of Bill Spitzak) on 24/01/2015 at 02:44..
doc: Remove deprecated functions from documentation

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/074e120cb3ec373b5594cc29280b4622d18c422d

Git commit d3770c0661f1c38ee3d0eecef32a4ffeee96907b by Bryce Harrington (on behalf of Bill Spitzak) on 24/01/2015 at 02:44..
doc: Remove wl_map from documentation

This object is only in wayland-private.h so it's methods should not
be in the documentation.

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d3770c0661f1c38ee3d0eecef32a4ffeee96907b

Git commit 1f39fbf8d282b3c70e8a78a37a0b2cf7ac863763 by Bryce Harrington (on behalf of Bill Spitzak) on 24/01/2015 at 02:44..
doc: made functions taking wl_event_queue arg belong to wl_event_queue

The fact that these functions take both a display and queue argument is
I think historical, and they really are methods on the queue.

Also added some docs for wl_display_prepare_read_queue.

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1f39fbf8d282b3c70e8a78a37a0b2cf7ac863763

Git commit be8064d2d4a94df010e1909eddb7e57c39babc61 by Bryce Harrington (on behalf of Bill Spitzak) on 24/01/2015 at 02:45..
doc: compress the lists in the protocol docs some

Use simpara to remove the blank lines, and put the type/value and
the comment into the same line.

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be8064d2d4a94df010e1909eddb7e57c39babc61

Git commit d90fd15ee4950f1ea5849e784dc592466de7b90b by Bryce Harrington (on behalf of Bill Spitzak) on 24/01/2015 at 02:45..
doc: Add object types and links to arguments int protocol documentation

This makes it a lot easier to figure out what is going on!

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d90fd15ee4950f1ea5849e784dc592466de7b90b

Git commit 6750538455a5bfdbaff3635233c227670ec9b27f by Bryce Harrington (on behalf of Bill Spitzak) on 24/01/2015 at 02:45..
doc: remove redundant subtitles

Put the argument lists next to the event/message title, which I
think makes it a lot easier to understand, and remove redundant
"values" title from enumerations.

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6750538455a5bfdbaff3635233c227670ec9b27f

Git commit 28ee9421657c70ac2ede35dcee313a090f19e833 by Héctor Orón Martínez on 24/01/2015 at 09:05..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/28ee9421657c70ac2ede35dcee313a090f19e833

Git commit e14fd6d0f8cd2bd3016dd3b2611a5b77ac709cac by Héctor Orón Martínez on 24/01/2015 at 09:24..
d/control: bump standards version

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e14fd6d0f8cd2bd3016dd3b2611a5b77ac709cac

Git commit b5a4716a1cee5657cb2ec53518d68eb90b42f83b by Héctor Orón Martínez on 24/01/2015 at 09:24..
Release Debian version 1.6.1-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b5a4716a1cee5657cb2ec53518d68eb90b42f83b

Git commit 86b423d8f625de1081b23d4f4231eec82b25c927 by Héctor Orón Martínez on 24/01/2015 at 09:47..
Release Debian version wayland-1.6.1-2

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/86b423d8f625de1081b23d4f4231eec82b25c927

Git commit a1a6aa54aa4db524ffd2fccf606acfe0a914a0b9 by Bryce Harrington (on behalf of Derek Foreman) on 26/01/2015 at 19:29..
cosmetic: Move the deprecated functions back to the end of the file

There are functions below the "Deprecated functions below" comment
that are not deprecated.

Move the deprecated functions back down, and add a comment at the
end of the file to try to keep this from happening again.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a1a6aa54aa4db524ffd2fccf606acfe0a914a0b9

Git commit 71c37eb91aea311b3d5f66e944f7b7521c42189a by Bryce Harrington on 26/01/2015 at 19:30..
cosmetic: Cleanup trailing whitespace
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/71c37eb91aea311b3d5f66e944f7b7521c42189a

Git commit 5409187ed01dac8b3dd77c099a1ba8a5303062d1 by Bryce Harrington (on behalf of Bill Spitzak) on 27/01/2015 at 01:54..
doc: there is no need to move the _8h files

The current xslt skips all the data that is in them, so it is ok
if they are included.

Reviewed-by: "Jon A. Cruz" <jonc at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5409187ed01dac8b3dd77c099a1ba8a5303062d1

Git commit ed57d6d43889ebb4835ee04b1ea98fbda0548786 by Bryce Harrington (on behalf of Bill Spitzak) on 27/01/2015 at 01:54..
doc: Add macros and typedefs to the documentation

If somebody bothered to put a doxygen comment in for a macro or
typedef, make it appear in the pages. This produces documentation
for wl_container_of and wl_dispatcher_func_t from the _8h files.

Reviewed-by: "Jon A. Cruz" <jonc at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed57d6d43889ebb4835ee04b1ea98fbda0548786

Git commit 284da98a3c11983c3fb4af436f07de0186c56710 by Bryce Harrington (on behalf of Bill Spitzak) on 27/01/2015 at 01:55..
doc: Put a dash between type/enum value and description

This was suggested by Derek Foreman, I think it looks better

Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/284da98a3c11983c3fb4af436f07de0186c56710

Git commit 2eeb2cbc52e0729c78e8dde49d9d80f8faca1d6c by Bryce Harrington on 27/01/2015 at 02:11..
tests: Fix typo "evnironment"

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2eeb2cbc52e0729c78e8dde49d9d80f8faca1d6c

Git commit 9386e2be275878ba7ee68bcd65ce3f130c3fe3b0 by Bryce Harrington on 27/01/2015 at 02:11..
tests: Correct return code handling

Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9386e2be275878ba7ee68bcd65ce3f130c3fe3b0

Git commit e3dc9a7af6f8f88ff7503bc3a70178e47802868d by Daniel Stone (on behalf of Mariusz Ceier) on 27/01/2015 at 11:17..
tests: C++ compilation test

This test includes one of wayland headers, which produced
error with C++ compiler. C compiler can't be used for this test,
because it issues only a warning[1] and only when wayland headers
are not installed in system headers path (/usr/include).

[1] wayland-server-protocol.h:201:2: warning: implicit declaration of function ‘wl_resource_post_event’

[daniels: Merged in Marek's follow-up to check for a C++ compiler.]

Signed-off-by: Mariusz Ceier <mceier+wayland at gmail.com>
Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e3dc9a7af6f8f88ff7503bc3a70178e47802868d

Git commit 6197f32cadc82d62a3641385098fe5ffebc147d6 by Daniel Stone (on behalf of Mariusz Ceier) on 27/01/2015 at 11:18..
scanner: Fix header generation for server protocols

Server protocols headers should include wayland-server.h,
instead of wayland-util.h. Otherwise they're not useable
with C++ compiler unless wayland-server.h was included
earlier.

Signed-off-by: Mariusz Ceier <mceier+wayland at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6197f32cadc82d62a3641385098fe5ffebc147d6

Git commit d8e72f98f21b70ac8ae6bcf6e7594c7e656773f4 by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:15..
test-runner: move leak checking into function

1) now we can use it in the test-compositor
2) it looks better

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d8e72f98f21b70ac8ae6bcf6e7594c7e656773f4

Git commit 9ef027757110684f659e2698dc3382c96b9ab9e7 by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:17..
test-compositor: extend leak checks into clients

Run leak checks also on clients of test-compositor.

Checking leaks in memory is the same as in normal TEST.

Checking file descriptor leaks is slightly more complex, as we pass an
open file descriptor in the WAYLAND_SOCKET environment variable, which
will be consumed by a client calling wl_display_connect(), but otherwise
remain unused. We manage this accounting by checking if the environment
variable has been unset by wl_display_connect() as it consumes the
socket.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>

[daniels: squashed counter-proposal patch to simplify fd leak checking,
          plus Bill's counter-counter-proposal, and reworded log.]
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9ef027757110684f659e2698dc3382c96b9ab9e7

Git commit d1855797d33f0153ccf2c775d62b731f25b2625f by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:17..
tests: add tests for leak check in clients

Sanity tests for leak checks in clients of test compositor
and also check if the test-compositor itself is not leaking
anything.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d1855797d33f0153ccf2c775d62b731f25b2625f

Git commit 2e20270280756cbf7387d5e4269e5c9c7c8a0e5b by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:17..
connection-test: add tests for closure leaks

When we destroy closure, we are leaking memory sometimes.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2e20270280756cbf7387d5e4269e5c9c7c8a0e5b

Git commit 73cb90763ce17eab9b066c5916a367e243e538c9 by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:17..
client: release display queue in wl_display_disconnect()

Don't leak events, not even on exit

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/73cb90763ce17eab9b066c5916a367e243e538c9

Git commit 5c70c031903352530f701ca4badf4be1763984a4 by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:17..
client: unref or destroy proxy when releasing queue

When we release event queue with queued events, we can leak
proxies in some cases.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c70c031903352530f701ca4badf4be1763984a4

Git commit 68c11c48c0f2bff69a10af503238cbf5d07a5df0 by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:17..
tests: add possibility to disable leak check for single test

In tests that are using external libraries (i. e. pthread) we
can get failure because of leaks in the external library.
Until we have some better solution (if ever), let these (and only these)
tests to disable leak checks.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68c11c48c0f2bff69a10af503238cbf5d07a5df0

Git commit f858550cf4c0df4cdec1274eb55e0a780c6dc83c by Daniel Stone (on behalf of Marek Chalupa) on 28/01/2015 at 17:17..
display-test: disable leak check in tests that use pthread

pthread is leaking and it makes our tests fail.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f858550cf4c0df4cdec1274eb55e0a780c6dc83c

Git commit b5fca036cc2bfc224a3db4724c00543d98008cb5 by Bryce Harrington (on behalf of Jon Cruz) on 29/01/2015 at 01:43..
doc: Switch from static image files to generated diagrams.

Switches diagrams from using static PNG images to instead generate them via
simple graphviz DOT markup files.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b5fca036cc2bfc224a3db4724c00543d98008cb5

Git commit 8cf9a367c98756d4bdacc987573e23f13faf28e6 by Bryce Harrington (on behalf of Jon Cruz) on 29/01/2015 at 01:43..
doc: Create hot-linked areas in documents.

Added xslt processing to give DocBook output diagram image maps/hot-linked
areas consistent with those automatically generated by Doxygen.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8cf9a367c98756d4bdacc987573e23f13faf28e6

Git commit 7575e2ea19dcb6012a6fd4729197d12a68b89025 by Bryce Harrington (on behalf of Jon Cruz) on 29/01/2015 at 01:43..
doc: update diagrams for compatibility.

Change attribute separators for compatiblity with graphviz older than 2.30.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7575e2ea19dcb6012a6fd4729197d12a68b89025

Git commit 5ec8062df26f21cfe7a031eaf83a1b4d99085f36 by Bryce Harrington (on behalf of Derek Foreman) on 29/01/2015 at 02:12..
event-loop: Dispatch idle callbacks twice

To fix a shutdown crash in weston's x11 compositor I want to move the
weston X window close to an idle handler.

Since idle handlers are processed at the start of an event loop, the
handler that deals with window close will run at the start of the
next input_loop dispatch, after which the dispatcher blocks on epoll
forever (since all input events that will ever occur have been consumed).

Dispatching idle callbacks both at the start and end of event-loop
processing will prevent this permanent blocking.

Note that just moving the callback dispatch could theoretically
result in an idle callback being delayed indefinitely while waiting
for epoll_wait() to complete.

Callbacks are removed from the list when they're run, so the second
dispatch won't result in any extra calls.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5ec8062df26f21cfe7a031eaf83a1b4d99085f36

Git commit cd0cf5a106b0578da9706f9eb3ceac3ff07c26ee by Bryce Harrington (on behalf of Rui Matos) on 29/01/2015 at 02:44..
doc/publican/Makefile.am: Add a missing order-only prerequisite

Otherwise a parallel make invocation could fail due to the directory
not existing.

Signed-off-by: Rui Matos <tiagomatos at gmail.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cd0cf5a106b0578da9706f9eb3ceac3ff07c26ee

Git commit a4afd90f9f0c27ed5f3f313b915c260673f8be34 by Bryce Harrington (on behalf of Andrew Oakley) on 29/01/2015 at 05:29..
configure.ac: use pkg-config to find expat

This is now done in the same way as the libffi dependency and still
allows the library to be installed in a non-standard location (with
PKG_CONFIG_PATH).
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a4afd90f9f0c27ed5f3f313b915c260673f8be34

Git commit 6be2d9aaef6b59c475d27592d97cfad3d5dd777c by Bryce Harrington (on behalf of Bill Spitzak) on 30/01/2015 at 01:13..
doc: Intro text for doxygen output in it's own file

(This patch has been modified to apply atop current master)

This makes it considerably easier to edit the text and make it different
for each library.

To address previous concerns with this patch, I wrote some more complete
introductory text. This is based on my understanding of these libraries, which
may not be correct, and is pretty rudimentary for libwayland-server!

However this intro text demonstrates how to create links to the
doxygen-generated text. It looks like you cannot link to methods easily as the
link name contains a hash number, but links to objects and classes work.
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
Tested-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6be2d9aaef6b59c475d27592d97cfad3d5dd777c

Git commit ccb17a05a3114414cebed49ce4af7725d705e205 by Bryce Harrington on 30/01/2015 at 01:25..
gitignore:  Add the new cpp-compile-test
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ccb17a05a3114414cebed49ce4af7725d705e205

Git commit 768724495e2d15af0b9ea8303fe776201e6d49de by Bryce Harrington on 30/01/2015 at 22:57..
configure.ac: bump version to 1.6.92 for rc1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/768724495e2d15af0b9ea8303fe776201e6d49de

Git commit 23a57b69ffaad990172958ff1f64a687b8374a2d by Bryce Harrington (on behalf of Jon Cruz) on 31/01/2015 at 02:58..
doc: Fix out-of-tree build and also distcheck

Corrects an issue that would cause out-of-tree builds to fail and also
a few items that would cause distcheck to fail.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/23a57b69ffaad990172958ff1f64a687b8374a2d

Git commit 48bf640d16b9f3a6920220e216d55665b42dc0c6 by Bryce Harrington on 31/01/2015 at 03:08..
configure.ac: re-bump version to 1.6.92 for rc1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/48bf640d16b9f3a6920220e216d55665b42dc0c6

Git commit 8094426a4168b78b924210e97ef178c78c1d296f by Bryce Harrington (on behalf of Marek Chalupa) on 05/02/2015 at 03:43..
test-runner: wait for concrete pid

After running a test in fork, we were waiting for any child to terminate.
It is OK unless the child forks again. If the child calls fork, the waitid can
catch the child's child termination, stop block and run another test
while the former test is still running. This is racy i. e. when adding socket.
Since we have test compositor which uses fork, this situation can occur
pretty frequently.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8094426a4168b78b924210e97ef178c78c1d296f

Git commit 310fea467cf714d3ed7d66747c463790246f9be1 by Bryce Harrington on 05/02/2015 at 05:49..
doc: Fill in high level description for Surfaces

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/310fea467cf714d3ed7d66747c463790246f9be1

Git commit 76fe89ed535be7ff20e39d5d2ec3b26cb3fae37e by Bryce Harrington on 06/02/2015 at 22:39..
tests: Fix FAIL in sanity-test (*timeout*) when Yama LSM enabled

This fixes a regression in the testsuite since c3653f7f, where four of
the timeout tests fail with "Timeouts suppressed" messages.

The timeouts are being suppressed because the testsuite is erroneously
detecting that a debugger is attached.  This detection mechanism
(adopted from libinput) uses ptrace to test if there is a debugger
parent process that can be attached.  Unfortunately, this is an
unreliable test: Kernel security policies exist to restrict the scope of
ptrace to prevent processes from snooping on one another.[1] This
security policy is set as the default on Ubuntu, and potentially other
Linux distributions.[2]

The Yama documentation suggests, "For software that has defined
application-specific relationships between a debugging process and its
inferior (crash handlers, etc), prctl(PR_SET_PTRACER, pid, ...) can be
used.  An inferior can declare which other process (and its descendents)
are allowed to call PTRACE_ATTACH against it."  This prctl call has no
effect if Yama LSM is not loaded.

The child needs to be synchronized to the client to prevent a race
condition where the child might try to operate before the parent has
finished its prctl call.  This synchronization is done via pipes.

This patch can be tested by running sanity-test with
/proc/sys/kernel/yama/ptrace_scope set to 0 or 1; the test must pass for
either value.

1: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2d514487faf188938a4ee4fb3464eeecfbdcf8eb
2: https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace_Protection

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>

v4: Allow parent to communicate error state to child to prevent leaving
child in zombie state if parent hits an error.

v5: Check errno instead of rc for error.  Don't waitpid on ppid.
Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/76fe89ed535be7ff20e39d5d2ec3b26cb3fae37e

Git commit 371a9e0aefcc2bdef9c044a59d613ce6c175ed73 by Bryce Harrington (on behalf of Bill Spitzak) on 06/02/2015 at 23:52..
configure.ac: Fallback to older detection code if pkg-config can't find expat

This paritally reverts commit a4afd90f9f0c27ed5f3f313b915c260673f8be34.

On older expat versions (ie the one on Ubuntu 12.04) there is no pkg-config
file, so fall back to a test for the header and library. In addition the
source for expat does not seem to be in a git repository but in cvs instead
and it seems preferrable to not require cvs to build wayland.

The restored test has been updated to use AC_SEARCH_LIBS. This version
uses empty square brackets for the unused branches, similar to many other
if statements in configure.ac.
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Andrew Oakley <aoakley at espial.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/371a9e0aefcc2bdef9c044a59d613ce6c175ed73

Git commit 52d971c924d0147d6949096c9cf001d75828a054 by Bryce Harrington on 07/02/2015 at 01:56..
configure.ac: bump to version 1.6.93 for rc2 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/52d971c924d0147d6949096c9cf001d75828a054

Git commit 2633c9a0546d79e8cd68becfd0477e5f019209ee by Timo Aaltonen on 10/02/2015 at 06:37..
Merge tag '1.6.1' into d-exp

1.6.1
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2633c9a0546d79e8cd68becfd0477e5f019209ee

Git commit 3d441134522a0daaaf870fc67cfc202312a246db by Timo Aaltonen on 10/02/2015 at 06:37..
Merge branch 'debian-experimental' into d-exp
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3d441134522a0daaaf870fc67cfc202312a246db

Git commit 5c3abd5f950c4fc1c3d208fae1c92d4585e794c2 by Timo Aaltonen on 10/02/2015 at 17:45..
update the changelog
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c3abd5f950c4fc1c3d208fae1c92d4585e794c2

Git commit 8e9d5a108476b3435a8286613b9a63b69afd92b7 by Bryce Harrington on 14/02/2015 at 03:17..
configure.ac: bump to version 1.7.0 for release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8e9d5a108476b3435a8286613b9a63b69afd92b7

Git commit 6153dedffb83ffea0b86ce9195c3b381f5434c2b by Timo Aaltonen on 16/02/2015 at 09:19..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6153dedffb83ffea0b86ce9195c3b381f5434c2b

Git commit 2fef811fe24035c85f290a456ad782a47fa9aadd by Timo Aaltonen on 16/02/2015 at 09:21..
bump the release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2fef811fe24035c85f290a456ad782a47fa9aadd

Git commit 57e2f7fb123a1b5fb151631047fb02eddbd7264e by Timo Aaltonen on 16/02/2015 at 09:34..
control: Add xmlto and graphviz to build-depends to build the new documentation.

* control: Add xmlto and graphviz to build-depends to build the
  new documentation.
* -dev.install: Add new documentation files.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/57e2f7fb123a1b5fb151631047fb02eddbd7264e

Git commit f3a5ca999e7efabc873bd2ee1d5fbe07e1e73ddd by Bryce Harrington on 18/02/2015 at 02:34..
configure.ac: bump version to 1.7.90

Master is open for new features again

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f3a5ca999e7efabc873bd2ee1d5fbe07e1e73ddd

Git commit 9b2e78a3964ac986889ec979f945e8062faa785b by Timo Aaltonen on 19/02/2015 at 06:55..
put the documentation in a separate package
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9b2e78a3964ac986889ec979f945e8062faa785b

Git commit 99d2775ae95784a3e9f4bcd6d2ef48cf36ca8c15 by Bryce Harrington (on behalf of Hardening) on 25/02/2015 at 20:38..
wayland.xml: fixed a typo
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/99d2775ae95784a3e9f4bcd6d2ef48cf36ca8c15

Git commit 8b2fbf872280a68f82ab6aae68a89fd58cc9996b by Jonas Ådahl on 04/03/2015 at 07:47..
protocol: Change wording of subsurface placement scheduling

Change wording to be more consistent with other parts of the subsurface
protocol. Before this change, wl_subsurface.set_position explicitly
stated that the new state was to be applied on the parents
wl_surface.commit and wl_subsurface.place_above/below only said "on
the next commit of the parent surface". What "committed" means is
ambiguous considering that a wl_surface.commit actually defers the
actual commit when in synchronized mode, but the intention has always
been that placement of a subsurface should be considered part of its
content, i.e. placement state should be applied when other state
(buffer, regions). This patch makes that more clear.

Note that prior to this patch, one could correctly have interpreted
the protocol meaning that placements operations takes effect explicitly
on wl_surface.commit of the parent surface no matter whether other state
of the parent surface is applied at that point. This patch clarifies that
that is not the case.

https://bugs.freedesktop.org/show_bug.cgi?id=88857

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Acked-by: Jasper St. Pierre <jstpierre at mecheye.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8b2fbf872280a68f82ab6aae68a89fd58cc9996b

Git commit 4908bf0d0f49c766a814eefb31534561da9e8d6e by Pekka Paalanen (on behalf of Derek Foreman) on 05/03/2015 at 07:39..
cursor: add wl_cursor_frame_and_duration

It's useful to know how long the current cursor frame should be displayed
so we can wait that long to change it.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4908bf0d0f49c766a814eefb31534561da9e8d6e

Git commit be47969a38d66e125b7f13b9a9b44e447219a00a by Pekka Paalanen (on behalf of Bryce Harrington) on 18/03/2015 at 14:32..
client: Fix typo

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be47969a38d66e125b7f13b9a9b44e447219a00a

Git commit c770b8465851862b293b91d9d115a2cccadb807c by Bryce Harrington (on behalf of Emmanuel Gil Peyrot) on 18/03/2015 at 23:01..
cursor: free the array from which images are linked
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c770b8465851862b293b91d9d115a2cccadb807c

Git commit e16ee74e475b5a179151b88a0a55a511fd368d74 by Pekka Paalanen (on behalf of Marek Chalupa) on 19/03/2015 at 14:11..
server: give more precise error message

There are two same error messages with different cause.
Let user know what is the cause of the error.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e16ee74e475b5a179151b88a0a55a511fd368d74

Git commit 439b0a38630eb3c1a088c84cc76019ad001bb99b by Pekka Paalanen (on behalf of Bryce Harrington) on 19/03/2015 at 14:56..
Spelling fixes (cosmetic)

A few typos in comments and protocol docs, no code changes.

./src/wayland-util.h:281: recieved  ==> received
./src/wayland-client.c:115: occured  ==> occurred
./src/wayland-client.c:156: occured  ==> occurred
./tests/test-compositor.c:76: parallely  ==> parallelly
./tests/test-compositor.c:474: recieve  ==> receive
./protocol/wayland.xml:1767: layed  ==> laid
./protocol/wayland.xml:2112: dependant  ==> dependent
./doc/publican/sources/Client.xml:25: recieved  ==> received

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Bill Spitzak <spitzak at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/439b0a38630eb3c1a088c84cc76019ad001bb99b

Git commit 2d46da10d84eb16b810e6b181e084ceff1818f38 by Pekka Paalanen (on behalf of Jussi Pakkanen) on 27/03/2015 at 13:02..
Add support for direct file reading and writing in wayland-scanner.

Add support for direct file reading and writing in wayland-scanner.

Signed-off-by: Jussi Pakkanen <jpakkane at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: David Fort <rdp.effort at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2d46da10d84eb16b810e6b181e084ceff1818f38

Git commit c45be3d21e7231eec33c50f38d85fb4ac5fb74cc by Pekka Paalanen (on behalf of Marek Chalupa) on 30/03/2015 at 11:23..
protocol: add better description of wl_pointer.release

Add note about what all wl_pointer.release does. Mainly that
it destroys the proxy object, so programmer must not call
wl_pointer_destroy() on the pointer any further.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c45be3d21e7231eec33c50f38d85fb4ac5fb74cc

Git commit 313b26f415d48e1918818cb9da54f8e8bc521f87 by Bryce Harrington (on behalf of Bill Spitzak) on 07/04/2015 at 22:48..
config: use simpler regexp syntax to get dot version

I wasted a lot of time before I figured out that I needed to add those
square brackets to get this to work. Sigh...
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/313b26f415d48e1918818cb9da54f8e8bc521f87

Git commit 0583ce741ed16315af591e9e4547a1e3d2c26e0b by Jonas Ådahl on 08/04/2015 at 09:38..
scanner: Fail on empty enumerations

Without this patch, the scanner would generate invalid C which wouldn't
compile anyway, so lets be nice and fail earlier and point out where the
error is.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: David Fort <contact at hardening-consulting.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0583ce741ed16315af591e9e4547a1e3d2c26e0b

Git commit 70d3c0fe8a49ae2317ed5baaf2e3062d73cae6f4 by Bryce Harrington on 15/04/2015 at 22:07..
tests: Typo in a comment

(Spotted by Silvan)

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/70d3c0fe8a49ae2317ed5baaf2e3062d73cae6f4

Git commit d74a9c079b1aeb44f69b4132dc2c38362e21f281 by Pekka Paalanen (on behalf of Giulio Camuffo) on 30/04/2015 at 11:11..
introduce new headers wayland-client-core.h and wayland-server-core.h

wayland-client.h and wayland-server.h include the protocol headers generated
at build time. This means that a libwayland user cannot generate and use
protocol code created from a wayland.xml newer than the installed libwayland,
because it is not possible to only include the API header.

Another use case is language bindings, which would generate their own protocol
code and which only need to use the library ABI, not the generated C code.

This commit adds wayland-client-core.h and wayland-server-core.h which do not
include the protocol headers or any deprecated code.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d74a9c079b1aeb44f69b4132dc2c38362e21f281

Git commit ea73cb00bc85e4041e4b9e4d6c460682ad28b69d by Pekka Paalanen (on behalf of Giulio Camuffo) on 30/04/2015 at 11:30..
wayland-egl: add a core header

The new core header doesn't include any other header, since it really
is not needed.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ea73cb00bc85e4041e4b9e4d6c460682ad28b69d

Git commit e799b1fa9cfd31b541ed5bd184abd1b2e169b61b by Pekka Paalanen (on behalf of Giulio Camuffo) on 30/04/2015 at 12:18..
scanner: add a new --include-core-only option

When using this new option the generated code will include the new
core headers instead of the old ones. The default needs to remain
unchanged for backward compatibility with old code.
With this change the generated headers will now forward declare all
types and interfaces it uses; that is needed when generating headers
for a my-extension.xml with --include-core-only, since it may use
types defined in wayland.xml.
The same is done also without --include-core-only, since it is an
harmless change.
getopt_long() is used for the option handling.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e799b1fa9cfd31b541ed5bd184abd1b2e169b61b

Git commit 8af1d8f81cb31cda02022c66978b90627fe0a3d4 by Héctor Orón Martínez on 06/05/2015 at 10:44..
scanner.mk: drop, not in upstream tarball

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8af1d8f81cb31cda02022c66978b90627fe0a3d4

Git commit 0606fb3641646c30547d2f06cb105ed8d888cc06 by Héctor Orón Martínez on 06/05/2015 at 10:45..
Release Debian version wayland-1.7.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0606fb3641646c30547d2f06cb105ed8d888cc06

Git commit 8877a349e7b1fe8943962cfcd0dcdf78dc7f39f6 by Bryce Harrington on 07/05/2015 at 01:59..
configure.ac: bump to version 1.7.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8877a349e7b1fe8943962cfcd0dcdf78dc7f39f6

Git commit d08c079739caa966350ce9fb8b620f8a69dfb05f by Bryce Harrington (on behalf of Pekka Paalanen) on 08/05/2015 at 21:21..
scanner: simplify the getopt logic

Use the same retvals for both short and long options.

Whitespace fixes.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d08c079739caa966350ce9fb8b620f8a69dfb05f

Git commit b409c919a28ffe9f72ec15156d91af0ab17a196e by Bryce Harrington (on behalf of Michael Vetter) on 15/05/2015 at 20:10..
remove trailing whitespaces

Remove trailing whitespaces because they are not needed and jumping to
the end of al ine should do just that and not jump to the whitespace.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b409c919a28ffe9f72ec15156d91af0ab17a196e

Git commit 12cab2c4dfd4634e8979f78cec855a14091ce9d9 by Bryce Harrington on 16/05/2015 at 00:53..
configure.ac: bump to version 1.7.92 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/12cab2c4dfd4634e8979f78cec855a14091ce9d9

Git commit 1fab2e7ba95a548129abf117f66e21c5a633091a by Bryce Harrington (on behalf of Giulio Camuffo) on 21/05/2015 at 23:00..
tests: add an headers test

This test checks that the protocol and library headers include only what
they are supposed to include. That is, that the core headers do not
include the protocol headers and that the core protocol headers do not
include the non core library headers.
The build process now generates core protocol headers, but they are only
used in the test and don't get installed.

Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1fab2e7ba95a548129abf117f66e21c5a633091a

Git commit 6edfb1858ab7890130da6e567130cbd6851dfee9 by Emilio Pozuelo Monfort on 26/05/2015 at 22:34..
Remove Cyril from Uploaders
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6edfb1858ab7890130da6e567130cbd6851dfee9

Git commit 445faee97299e4e19f4e219a469e32f1dcd0549f by Emilio Pozuelo Monfort on 26/05/2015 at 22:35..
Upload to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/445faee97299e4e19f4e219a469e32f1dcd0549f

Git commit 5339e21f65201898d7058fd7d50414abb7ba51b4 by Bryce Harrington on 27/05/2015 at 01:59..
gitignore: ignore recently added headers-test
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5339e21f65201898d7058fd7d50414abb7ba51b4

Git commit 8e8699789c32d2f574c3afe0b0f4c37353b73e29 by Bryce Harrington on 27/05/2015 at 02:01..
gitignore: Bulk ignore all *-test files
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8e8699789c32d2f574c3afe0b0f4c37353b73e29

Git commit 6ffd998a98ca76ff2ff64617516fe1d6d34100a3 by Bryce Harrington on 27/05/2015 at 02:10..
configure.ac: bump to version 1.7.93 for the RC2 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6ffd998a98ca76ff2ff64617516fe1d6d34100a3

Git commit c19d5e1867ef179f118f164a3457cb5366cf4055 by Bryce Harrington on 27/05/2015 at 22:34..
publish-doc: Add script for publishing docs to the website

Adapted from same-named script from libinput.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c19d5e1867ef179f118f164a3457cb5366cf4055

Git commit f0be757bfaf8cd43e89471ec7fa8f57093d38f81 by Pekka Paalanen (on behalf of Giulio Camuffo) on 01/06/2015 at 08:47..
scanner: don't emit the extern declarations for external types

We were emitting the extern declarations of all types used in the protocol,
even if not defined in it. This caused warnings to be produced when using
the -Wredundant-decls compiler flag when building an extension that uses
e.g. wl_surface. However we only need the extern declarations if the
protocol defines a factory for those external interfaces. That is a
bad design and can be however done by including the dependent protocol
header first.
So only emit the extern declarations for the types that the protocol
actually defines, this restoring the behavior we were using in 1.7.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=90677

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Arnaud Vrac <rawoul at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f0be757bfaf8cd43e89471ec7fa8f57093d38f81

Git commit 60024af597b68974c451c89f960a7c11de11c33a by Bryce Harrington on 02/06/2015 at 23:06..
configure.ac: bump to version 1.8.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/60024af597b68974c451c89f960a7c11de11c33a

Git commit baed4b0a2ffd6f61e0f868af7013cd24dd4b429c by Bryce Harrington on 03/06/2015 at 07:12..
configure.ac: bump version to 1.8.90

Master is open for new features again

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/baed4b0a2ffd6f61e0f868af7013cd24dd4b429c

Git commit 56a5a890b5d663a2157551ed5974b9dc929749ae by Bryce Harrington (on behalf of Derek Foreman) on 05/06/2015 at 00:21..
docs: remove and ignore doc/doxygen_sqlite3.db

Some newer versions of doxygen are generating this file now, and if
we don't clean it up distcheck will fail.

Known to affect doxygen 1.8.8 from debian jessie.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
Tested-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/56a5a890b5d663a2157551ed5974b9dc929749ae

Git commit 09722a0a9a7a06e8f0d02b00971ef316c6ba8187 by Bryce Harrington on 12/06/2015 at 18:54..
configure.ac: bump to version 1.8.1 for the point release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/09722a0a9a7a06e8f0d02b00971ef316c6ba8187

Git commit c4bad43425c32a9b5f1f83987a5ac05c971896ca by Bryce Harrington on 12/06/2015 at 22:31..
COPYING: Update to MIT Expat License rather than MIT X License

MIT has released software under several slightly different licenses,
including the old 'X11 License' or 'MIT License'.  Some code under this
license was in fact included in X.org's Xserver in the past.  However,
X.org now prefers the MIT Expat License as the standard (which,
confusingly, is also referred to as the 'MIT License').  See
http://cgit.freedesktop.org/xorg/xserver/tree/COPYING

When Wayland started, it was Kristian Høgsberg's intent to license it
compatibly with X.org.  "I wanted Wayland to be usable (license-wise)
whereever X was usable."  But, the text of the older X11 License was
taken for Wayland, rather than X11's current standard.  This patch
corrects this by swapping in the intended text.

In practical terms, the most notable change is the dropping of the
no-advertising clause.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c4bad43425c32a9b5f1f83987a5ac05c971896ca

Git commit 2e6e0fc811ed0207b1d2c3d3ebfc95010189dfa2 by Bryce Harrington on 12/06/2015 at 22:31..
Contributing: Specify use of MIT Expat for new code files

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2e6e0fc811ed0207b1d2c3d3ebfc95010189dfa2

Git commit 773babedfca8f0aa60903aed4a6856cd7e36227d by Bryce Harrington on 12/06/2015 at 22:31..
tests: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/773babedfca8f0aa60903aed4a6856cd7e36227d

Git commit 724b6e4ebedd6dae84edff1f13d4ef8a759257fe by Bryce Harrington on 12/06/2015 at 22:31..
socket-test: Fix style on multi-line comment

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/724b6e4ebedd6dae84edff1f13d4ef8a759257fe

Git commit d21ba735eebc1dabf347a302c1aaaefff87c43ef by Bryce Harrington on 12/06/2015 at 22:31..
test-runner: Add copyright boilerplate for .h, same as the .c

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d21ba735eebc1dabf347a302c1aaaefff87c43ef

Git commit 3c91b0878def1a42c6d0090fa0b5a47df6092d7c by Bryce Harrington on 12/06/2015 at 22:31..
src: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3c91b0878def1a42c6d0090fa0b5a47df6092d7c

Git commit 68402a53dc6ab9eeb15644a4ad66af2c0af2191d by Bryce Harrington on 12/06/2015 at 22:35..
wayland-server: Fix style on multi-line comment

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68402a53dc6ab9eeb15644a4ad66af2c0af2191d

Git commit 541b0cf24effa2705e9ea8ae2f3d89272c27bb89 by Bryce Harrington on 12/06/2015 at 22:51..
protocol: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/541b0cf24effa2705e9ea8ae2f3d89272c27bb89

Git commit 3540ea2b9fc3c2f244cf62d82b7d31d4223044c9 by Bryce Harrington on 12/06/2015 at 22:51..
cursor: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3540ea2b9fc3c2f244cf62d82b7d31d4223044c9

Git commit c78a0a62c6246ed9398a7f277cac02d3d55bc6f0 by Bryce Harrington on 12/06/2015 at 22:51..
cursor-data.h: Change SuSE licensed code from X11 to Expat

The license text for this file mentions SuSE specifically, however it is
otherwise identical to all the other MIT X11 licensed code in Wayland,
and so can be changed to the substantially identical MIT Expat license.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Keith Packard <keithp at keithp.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c78a0a62c6246ed9398a7f277cac02d3d55bc6f0

Git commit 1faeb7ff4894be9649d042103178ce22693cd6d1 by Bryce Harrington on 12/06/2015 at 22:51..
xcursor: Change keithp licensed code from X11 to Expat license

The license text for this file mentions Keith Packard specifically,
however it is otherwise identical to all the other MIT X11 licensed code
in Wayland, and so can be changed to the substantially identical MIT
Expat license.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Keith Packard <keithp at keithp.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1faeb7ff4894be9649d042103178ce22693cd6d1

Git commit 9e9e9de180c81d80b4981e5f262aa7b2ab0efa05 by Héctor Orón Martínez on 12/06/2015 at 23:59..
Merge tag '1.8.1' into upstream-unstable

1.8.1
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9e9e9de180c81d80b4981e5f262aa7b2ab0efa05

Git commit f2e134591a002849bfa07c28913a7aeac0fe335f by Héctor Orón Martínez on 13/06/2015 at 00:00..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f2e134591a002849bfa07c28913a7aeac0fe335f

Git commit 10b838a65c2eb94182ebfb178ccfe18241dcd006 by Héctor Orón Martínez on 13/06/2015 at 00:07..
wl_cursor_frame_and_duration: new symbol

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/10b838a65c2eb94182ebfb178ccfe18241dcd006

Git commit 3770161fb4bc18bfa5c3edaed03dd6eddcdf9efb by Héctor Orón Martínez on 13/06/2015 at 00:07..
Release Debian version wayland-1.8.1-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3770161fb4bc18bfa5c3edaed03dd6eddcdf9efb

Git commit e06f88cf91384099a45ca5e194bbb12d499b1ff9 by Pekka Paalanen (on behalf of Derek Foreman) on 18/06/2015 at 11:05..
build: Move AM_CFLAGS and AM_CPPFLAGS to the top of Makefile.am

AM_CFLAGS and AM_CPPFLAGS aren't positional, so putting them at a
random place in Makefile.am can be misleading.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e06f88cf91384099a45ca5e194bbb12d499b1ff9

Git commit aeeca3169663336a7719faad36a11e0716bd381b by Pekka Paalanen (on behalf of Derek Foreman) on 18/06/2015 at 11:06..
build: Stop putting FFI_CFLAGS in AM_CFLAGS

AM_CFLAGS are the defaults passed to anything that doesn't specify its own
_CFLAGS, so instead of putting FFI_CFLAGS there, let's just add that to
anything that actually needs it.

The only thing that needs it but didn't have it specifically was
libwayland_util (for connection.c)

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aeeca3169663336a7719faad36a11e0716bd381b

Git commit 5cfdbef3d29919ef37cfe309ff907763d849febf by Pekka Paalanen (on behalf of Derek Foreman) on 18/06/2015 at 11:06..
build: Allow disabling building of wayland libraries

When cross-compiling it may be useful to build only the wayland-scanner
natively.  This patch makes it possible to disable build of the libraries.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5cfdbef3d29919ef37cfe309ff907763d849febf

Git commit 0e979d82d249c4c0815ea82816fcf186a6862e2a by Pekka Paalanen (on behalf of Derek Foreman) on 18/06/2015 at 11:06..
build: Build a subset of libwayland_util when not building libraries

The scanner doesn't need anything but wayland-util.c/.h so we can
shrink wayland-util when not building the main libraries.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0e979d82d249c4c0815ea82816fcf186a6862e2a

Git commit bc3b66d5c194b9238126f7bc954142a07fe44f0e by Pekka Paalanen (on behalf of Derek Foreman) on 18/06/2015 at 11:06..
build: Don't depend on libffi unless we're building libraries

When building just the scanner or docs it's not required.

This can reduce requirements for a host cross compiling wayland,
since only the scanner needs to be built natively.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bc3b66d5c194b9238126f7bc954142a07fe44f0e

Git commit 356a48fcfb41cf08cf05c44c3b2d5d2c69e50201 by Pekka Paalanen (on behalf of Peter Hutterer) on 18/06/2015 at 12:43..
doc: move project-specific doxygen settings to the end of the doxygen file

Rather than having the settings hidden in the file somewhere move them to the
end so it's clear which settings we intentionally override.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/356a48fcfb41cf08cf05c44c3b2d5d2c69e50201

Git commit 82a6fec962e73d71c084b65760be945f31e250fb by Pekka Paalanen (on behalf of Peter Hutterer) on 18/06/2015 at 12:43..
doc: drop the default doxygen tags

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/82a6fec962e73d71c084b65760be945f31e250fb

Git commit 40925634e6d41cc3b9edd94335b6551826157c9c by Pekka Paalanen (on behalf of Bryce Harrington) on 22/06/2015 at 11:50..
publican: Update docs license from MIT "X11" to MIT "Expat" style

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/40925634e6d41cc3b9edd94335b6551826157c9c

Git commit a8a86010a660ec157b91a689763f2f66406f6e21 by Pekka Paalanen (on behalf of Bryce Harrington) on 22/06/2015 at 11:50..
cursor: Update printed license from MIT "X11" to MIT "Expat"

The code generates a cursor-data.h file, with licensing information.
Change this from the MIT "X11" license to MIT "Expat" license for
consistency with the rest of Wayland.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a8a86010a660ec157b91a689763f2f66406f6e21

Git commit 4cdc51034c83771fcde1fdf39beee8aa582dbb8c by Pekka Paalanen (on behalf of Derek Foreman) on 23/06/2015 at 07:07..
build: Use AM_CFLAGS instead of GCC_CFLAGS everywhere

This will make it easier if we ever want to add new flags to everything
in the future.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4cdc51034c83771fcde1fdf39beee8aa582dbb8c

Git commit ab254f7efe067176d2f2eda672b773b228f78e2d by Pekka Paalanen (on behalf of Derek Foreman) on 23/06/2015 at 07:27..
cosmetic: gratuitous whitespace changes in event-loop.c

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ab254f7efe067176d2f2eda672b773b228f78e2d

Git commit c2547c70a739d74f02979a8b590018ad6cb440d8 by Bryce Harrington on 10/07/2015 at 07:12..
tests: Don't increment variables inside an assert()

Addresses this warning found by Denis Denisov:

  [tests/array-test.c:137]: (warning) Assert statement modifies 'i'.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c2547c70a739d74f02979a8b590018ad6cb440d8

Git commit ba731f951c150ee83f0b8af03feec3fa18425ebf by Bryce Harrington (on behalf of Marek Chalupa) on 11/07/2015 at 00:17..
fixed-benchmark: remove unused arguments in main

Fixed benchmark uses main(int argc, char *argv[])
but does not use the arguments, so we can replace them with void

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba731f951c150ee83f0b8af03feec3fa18425ebf

Git commit 21f80b89826d07bf687de35a1992a0b9bca3a51d by Daniel Stone (on behalf of Ross Burton) on 17/07/2015 at 11:19..
build: always build wayland-scanner

The previous idiom for building a cross-compiled Wayland is to build once for
the build host (with --enable-scanner --disable-libraries) to get a
wayland-scanner binary that can then be used in a cross-compile (with
--disable-scanner).  The problem with this is that the cross wayland is missing
a wayland-scanner binary, which means you then can't do any Wayland development
on the target.

Instead, always build wayland-scanner for the target and change
--enable/disable-scanner to --with/without-host-scanner.  Normal builds use the
default of --without-host-scanner and run the wayland-scanner it just built, and
cross-compiled builds pass --with-host-scanner to use a previously built host
scanner but still get a wayland-scanner to install.

(a theoretically neater solution would be to build two scanners if required (one
to run and one to install), but automake makes this overly complicated)

[daniels: Bikeshedded naming with Ross's OK.]

Signed-off-by: Ross Burton <ross.burton at intel.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/21f80b89826d07bf687de35a1992a0b9bca3a51d

Git commit de1489564c4b9bdeeb836f0c73d8786eecba174a by Bryce Harrington (on behalf of Derek Foreman) on 23/07/2015 at 21:23..
build: Build libwayland-private

This splits the bulk of libwayland-util into libwayland-private.

libwayland-util (which is just wayland-util.c) is for use with the scanner.

libwayland-private is everything else.

Most things will want to link both libs.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de1489564c4b9bdeeb836f0c73d8786eecba174a

Git commit 1c12bf48af2a154787db8dc0561c73d10e074450 by Bryce Harrington on 31/07/2015 at 01:18..
gitignore: Ignore some dist generated files
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1c12bf48af2a154787db8dc0561c73d10e074450

Git commit 87fab2e36cfc9b1ac782e26b5717518490176a2e by Bryce Harrington (on behalf of Marek Chalupa) on 31/07/2015 at 01:23..
scanner: refactor creating objects

wrap creating and initializing objects (structures)
into functions and use them in the code.

v2. make create_.* functions consistent
    (no func will return NULL)

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/87fab2e36cfc9b1ac782e26b5717518490176a2e

Git commit 289a75739b885821f94927caa50f8b1997130818 by Bryce Harrington (on behalf of Marek Chalupa) on 31/07/2015 at 01:23..
scanner: get rid of leaks

Free all the memory we have allocated during running.

v2.: split creating objects and getting rid of leaks
     into two patches

     move check for NULL description into free_description

v3.: rebase after previous patch fixes

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/289a75739b885821f94927caa50f8b1997130818

Git commit 765040d1a72e4e698d40874d181e1d9a4677213c by Bryce Harrington (on behalf of Marek Chalupa) on 31/07/2015 at 01:24..
scanner: use zxalloc

Use xzalloc instead of xmalloc. This allows us to get rid
of manual initializing the memory to 0s and the code is
shorter and cleaner

Suggested by Bryce Harrington

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/765040d1a72e4e698d40874d181e1d9a4677213c

Git commit bbe6795d9b36efd59a3468cbfd6a5eb735ad1ad1 by Bryce Harrington (on behalf of Marek Chalupa) on 31/07/2015 at 01:33..
scanner: check sanity of version

scanner does not complain if we put into version attribute
things like -1 1x 1:3 etc.

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bbe6795d9b36efd59a3468cbfd6a5eb735ad1ad1

Git commit 441f9bb144efd561f0ac4bc4e672acc9703b5126 by Daniel Stone (on behalf of Elvis Lee) on 06/08/2015 at 07:46..
wayland-client : Fix queue_release not to call proxy_destroy

proxy_destroy could be called twice by wl_proxy_destroy and wl_event_queue_release.
Then, wl_map_remove was called twice for same object id.

Signed-off-by: Elvis Lee <kwangwoong.lee at lge.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/441f9bb144efd561f0ac4bc4e672acc9703b5126

Git commit fb7e13021730d0a5516ecbd3712ea4235e05d24d by Pekka Paalanen (on behalf of Dima Ryazanov) on 14/08/2015 at 07:14..
client: require WAYLAND_DISPLAY to be set

Although defaulting to wayland-0 seems convenient, it has an undesirable
side effect: clients may unintentionally connect to the wrong compositor.
Generally, it's safer to fail instead. Here's a real example:

In Fedora 22, Gtk+ prefers Wayland over X11, though the default session is still
a normal X11 Gnome session. When you launch a Gtk+ app, it will try Wayland,
fail, then try X11, and succesfully start up. That works fine.

Now suppose you launch Weston while running the Gnome session. Suddenly, all
of the Gtk+ apps launched from Gnome will show up inside Weston instead.
That's unexpected. There's also no good way to prevent that from happening
(other than perhaps setting WAYLAND_DISPLAY to an invalid value when launching
an app).

Not using wayland-0 as the default will solve that problem: an app launched
from the X11 Gnome session will use the X11 backend regardless of whether
there's a wayland compositor running at the same time.

Everything else should work as before. The compositor already sets
the WAYLAND_DISPLAY when starting the session, so the lack of the default value
should not make a difference to the user.

Signed-off-by: Dima Ryazanov <dima at gmail.com>
Acked-by: Pekka Paalanen <ppaalanen at gmail.com>
Acked-by: Giulio Camuffo <giuliocamuffo at gmail.com>
Acked-by: Daniel Stone <daniel at fooishbar.org>
Acked-by: Jasper St. Pierre <jstpierre at mecheye.net>
Reviewed-by: Ryo Munakata <ryomnktml at gmail.com>

[Pekka: dropped the wayland-server.c hunk, adjusted summary]

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fb7e13021730d0a5516ecbd3712ea4235e05d24d

Git commit c0636ddcacc72c34a773f170aabdb46a5a21c275 by Bryce Harrington on 16/08/2015 at 20:54..
configure.ac: bump to version 1.8.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c0636ddcacc72c34a773f170aabdb46a5a21c275

Git commit c7dbaa1cfda68185b3b0d3665efdf4620c66531e by Pekka Paalanen on 24/08/2015 at 09:55..
Revert "client: require WAYLAND_DISPLAY to be set"

This reverts commit fb7e13021730d0a5516ecbd3712ea4235e05d24d.

Developers have been trying to reduce the number of by default required
environment variables, and the mentioned commit is a step backwards in
that sense. The fundamental assumption is that a user has only one main
(Wayland) display server where all programs should connect to by
default, and do so with an a priori known socket name.

The commit also broke various use cases in the wild, some accidentally
due to other causes, some intentionally. This revert allows those use
cases to continue.

The original problem of running Weston in a window in an existing GNOME
X11 session and getting applications unintentionally launched into
Weston can be circumvented by letting Weston use a non-default socket
name, leaving wayland-0 unused.

Discussion:
http://lists.freedesktop.org/archives/wayland-devel/2015-August/023927.html
http://lists.freedesktop.org/archives/wayland-devel/2015-August/023937.html

Cc: Dima Ryazanov <dima at gmail.com>
Cc: Giulio Camuffo <giuliocamuffo at gmail.com>
Cc: Daniel Stone <daniel at fooishbar.org>
Cc: Jasper St. Pierre <jstpierre at mecheye.net>
Cc: Ryo Munakata <ryomnktml at gmail.com>
Cc: Ray Strode <halfline at gmail.com>
Cc: Peter Hutterer <peter.hutterer at who-t.net>
Cc: Matthias Clasen <mclasen at redhat.com>
Cc: Sjoerd Simons <sjoerd.simons at collabora.co.uk>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Ray Strode <rstrode at redhat.com>
Acked-by: Dima Ryazanov <dima at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Acked-By: Sjoerd Simons <sjoerd.simons at collabora.co.uk>
Acked-By: Ryo Munakata <ryomnktml at gmail.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c7dbaa1cfda68185b3b0d3665efdf4620c66531e

Git commit b16c0a5dfa829ff6cef707ed72907c5f88acf3cf by Bryce Harrington on 01/09/2015 at 23:51..
configure.ac: bump to version 1.8.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b16c0a5dfa829ff6cef707ed72907c5f88acf3cf

Git commit 8fd494995d000edbc9d4c1a1805d316ffdff8890 by Bryce Harrington on 16/09/2015 at 03:16..
configure.ac: bump to version 1.8.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8fd494995d000edbc9d4c1a1805d316ffdff8890

Git commit b05668f0ad64ad9ba82e124965163daed4172ead by Bryce Harrington on 21/09/2015 at 23:52..
configure.ac: bump to version 1.9.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b05668f0ad64ad9ba82e124965163daed4172ead

Git commit b31225f91bfa0efe176ff5c93d5830dd947f6671 by Bryce Harrington on 22/09/2015 at 20:39..
configure.ac: bump to version 1.9.90 for open development

Master is open for new feature development again.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b31225f91bfa0efe176ff5c93d5830dd947f6671

Git commit d20a0b875847ba193a3886160c89ba4dbb76a9a4 by Bryce Harrington (on behalf of Pekka Paalanen) on 22/09/2015 at 21:12..
Contributing: explain Patchwork

Add general guidelines for using Patchwork, as we heavily rely on it
nowadays.

v2:

- mention also Xwayland and libinput patch management
- reword "if not found in Patchwork"
- reword "Not applicable"
- mention pwclient

Cc: Bryce Harrington <bryce at osg.samsung.com>
Cc: Olivier Fourdan <ofourdan at redhat.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Olivier Fourdan <ofourdan at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d20a0b875847ba193a3886160c89ba4dbb76a9a4

Git commit 09530b8ad0030e38a2b41c902dcafca918f6fbbd by Héctor Orón Martínez on 26/09/2015 at 21:52..
Merge tag '1.9.0' into upstream-unstable

1.9.0
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/09530b8ad0030e38a2b41c902dcafca918f6fbbd

Git commit 492f8170f4c20c2d7ba795d071415b7c6f91d0b1 by Héctor Orón Martínez on 26/09/2015 at 22:07..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/492f8170f4c20c2d7ba795d071415b7c6f91d0b1

Git commit 03d7f7c66fb78fa49fa631ba873e8102760858ce by Héctor Orón Martínez on 26/09/2015 at 22:13..
Release Debian version wayland-1.9.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/03d7f7c66fb78fa49fa631ba873e8102760858ce

Git commit e0b2166c9977b0bd1ab2aaff2604f6215f5c48a8 by Derek Foreman (on behalf of Bryce Harrington) on 05/10/2015 at 21:47..
scanner: Close input resource when done to prevent leak

Addresses this error reported by Denis Denisov:

  [src/scanner.c:1415]: (error) Resource leak: input

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>

v2: Also close input for other exit points in main.
Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: David FORT <contact at hardening-consulting.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e0b2166c9977b0bd1ab2aaff2604f6215f5c48a8

Git commit e74cde739eee62be15d85ad62ce8b7c8bbd90d74 by Bryce Harrington (on behalf of Jonas Ådahl) on 06/10/2015 at 00:28..
client: Fix minor grammar issue

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e74cde739eee62be15d85ad62ce8b7c8bbd90d74

Git commit f755dbde26d817b5937d8cebc8aa55191bddaaf3 by Bryce Harrington (on behalf of Jonas Ådahl) on 06/10/2015 at 00:28..
client: Reword and add documentation about the marshal functions

Some rewording to improve grammar a bit with some additions about the
type expectations of va_list arguments.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f755dbde26d817b5937d8cebc8aa55191bddaaf3

Git commit 5e0ed917744f2f881956e91ebe971073fd0a7c51 by Bryce Harrington (on behalf of Jonas Ådahl) on 06/10/2015 at 00:28..
client: Be more clear about when one must call wl_display_flush

Blocking in general is not what means it is required to flush, but
blocking on input from the wl_display file descriptor.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e0ed917744f2f881956e91ebe971073fd0a7c51

Git commit 99c34e58dbc9357527d374abf3bb5ca952d91942 by Bryce Harrington (on behalf of Jonas Ådahl) on 06/10/2015 at 00:28..
client: Improve wl_display_roundtrip(_queue)() documentation

Change the wording a bit to describe how it is done (which explains to
the name of the function) as well as a note about that we actually will
dispatch events that are received.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/99c34e58dbc9357527d374abf3bb5ca952d91942

Git commit b6809e5a8051fd193fe4b041a3245c22432195db by Bryce Harrington (on behalf of FORT David) on 08/10/2015 at 00:31..
wayland: add a release request on wl_seat

This is required if we want to correctly remove a wl_seat compositor-side. A
wl_seat is announced as a global object, then it is bound by the client. When
the compositor wants to remove the seat, it shall announce the global removal of
the object. The client can then call the release request on the wl_seat (which
means I won't use that object anymore).

Acked-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b6809e5a8051fd193fe4b041a3245c22432195db

Git commit 7c9135e1cf69d36a38e4ea4805f4899751079ae3 by Jonas Ådahl on 08/10/2015 at 04:49..
client: Move prepare read documentation to .._prepare_read_queue()

In the documentation we refer to "an event queue" in various places and
from the beginning it is unclear what event queue this means. So,
instead of having a paragraph in the end mentioning this, move the
detailed documentation to the function with the queue explicitly passed.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7c9135e1cf69d36a38e4ea4805f4899751079ae3

Git commit 9ebdcab1096acacffc3509888219d28a4c28a57d by Jonas Ådahl on 09/10/2015 at 13:02..
scanner: Generate 'since' macros for requests as well

We already generate WL_[INTERFACE]_[REQUEST]_SINCE_VERSION macros for
events in the server protocol headers. Lets do the same for requests in
the client protocol headers as well.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: David FORT <contact at hardening-consulting.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9ebdcab1096acacffc3509888219d28a4c28a57d

Git commit 06fb8bd371403d43bc192577abd6b0a0c8b29c59 by Derek Foreman (on behalf of Auke Booij) on 09/10/2015 at 20:32..
Remove protocol/wayland.dtd

The wayland scanner defines the protocol. The DTD specification is not used.
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Nils Christopher Brause <nilschrbrause at googlemail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/06fb8bd371403d43bc192577abd6b0a0c8b29c59

Git commit eba83cd5e1645986768fcd918c2f5cd76ba54f01 by Derek Foreman on 21/10/2015 at 21:31..
shm: Add shm_buffer ref and shm_pool unref functions

Sometimes the compositor wants to make sure a shm pool doesn't disappear
out from under it.

For example, in Enlightenment, rendering happens in a separate thread
while the main thread can still dispatch events.  If a client is destroyed
during rendering, all its resources are cleaned up and its shm pools are
unmapped.  This causes the rendering thread to segfault.

This patch adds a way for the compositor to increment the refcount of the
shm pool so it can't disappear, and decrement it when it's finished.

The ref/unref are asymmetrical (ref returns the pool) because it's
possible the buffer itself will be gone when you need to unref the pool.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eba83cd5e1645986768fcd918c2f5cd76ba54f01

Git commit 9a170b98342c1fde42cd3f7fbef73d5af86c3a7c by Bryce Harrington (on behalf of Jon Cruz) on 26/10/2015 at 17:50..
cosmetic: fix inconsistent code style with header prototypes.

A few of the header files had function prototypes that were not
following project conventions, sometimes even in the same file.
Corrected these to follow as per wayland-os.h.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9a170b98342c1fde42cd3f7fbef73d5af86c3a7c

Git commit 1cf175eba453c4453b6be5081afc10cd515590a8 by Bryce Harrington (on behalf of Jon Cruz) on 26/10/2015 at 17:51..
scanner: stop adding trailing whitespace to copyright

Generated code was unconditionally adding a space to lines
in comments for copyright blocks even if the line was blank.
Updated to not add trailing whitespace for blank lines.

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1cf175eba453c4453b6be5081afc10cd515590a8

Git commit f150d7aec26d2d6f0f878f49edcca66b89265111 by Bryce Harrington (on behalf of Jon Cruz) on 29/10/2015 at 20:44..
cosmetic: fix incorrect whitespace.

Fixed instance where spaces were used instead of tabs.

Changes since v1:
* rebased

Signed-off-by: Jon A. Cruz <jonc at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f150d7aec26d2d6f0f878f49edcca66b89265111

Git commit 999225c17a6ee23d5b5171b80b5158f93beb7abc by Bryce Harrington (on behalf of Auke Booij) on 04/11/2015 at 22:50..
doc: document the enum and bitfield attributes

Introduce the enum and bitfield attributes, which allow you to refer to the enum
you are expecting in an argument, and specify which enums are to be thought of
as bitfields.

Changes since v3:
 - Fix typo ("description" -> "descriptive")

Signed-off-by: Auke Booij <auke at tulcod.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause at googlemail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/999225c17a6ee23d5b5171b80b5158f93beb7abc

Git commit 851614fa78862499e016c5718e730fefbb8e3b73 by Bryce Harrington (on behalf of Auke Booij) on 04/11/2015 at 22:50..
protocol: specify enum and bitfield attributes

Signed-off-by: Auke Booij <auke at tulcod.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause at googlemail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Acked-by: Victor Berger <victor.berger at m4x.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/851614fa78862499e016c5718e730fefbb8e3b73

Git commit 1771299a5a965c1f95c18ef795c29db876133a81 by Bryce Harrington (on behalf of Auke Booij) on 04/11/2015 at 22:51..
scanner: enforce correct argument type for enums

The scanner now checks whether arguments that have an associated
<enum> have the right type.
An argument with an enum attribute must be of type int or uint,
and if the <enum> with that name has the bitfield attribute
set to true, then the argument must be of type uint.

Changes since v3:
 - Remove useless allow_null check
 - Switch to using bool
 - Clearer message on errorous input
 - Minor formatting fix

Signed-off-by: Auke Booij <auke at tulcod.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause at googlemail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1771299a5a965c1f95c18ef795c29db876133a81

Git commit 4a97cb35794866414b84242a89d1dbcc7f9c59fe by Bryce Harrington (on behalf of Auke Booij) on 04/11/2015 at 22:54..
doc: output enum and bitfield attributes in the documentation

Signed-off-by: Auke Booij <auke at tulcod.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause at googlemail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a97cb35794866414b84242a89d1dbcc7f9c59fe

Git commit 91881e8f89262f18f7543a6fd5f440ea5c13ce30 by Pekka Paalanen (on behalf of Derek Foreman) on 06/11/2015 at 11:42..
shm: Deprecate wl_shm_buffer_create()

From irc:
<pq> it creates a wl_buffer object in a way that no client can ever
     access the storage.

So, let's replace it with return NULL; and mark it with attribute
deprecated in the header.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/91881e8f89262f18f7543a6fd5f440ea5c13ce30

Git commit 2aee2069a04afebf839d63c89411f639247e780b by Pekka Paalanen (on behalf of Derek Foreman) on 06/11/2015 at 11:42..
shm: Move deprecated function to the bottom of the file

In wayland-server.c we group the deprecated functions and
disable doxygen for them.  Do that here too.

Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2aee2069a04afebf839d63c89411f639247e780b

Git commit 8bc42fbf7bb53f4942c50be10be572ee479bab0f by Pekka Paalanen (on behalf of Derek Foreman) on 06/11/2015 at 11:42..
shm: wl_shm_buffer_get_data() requires a valid pool.

There's no situation where a shm buffer without a pool makes sense,
so we enforce the pool's existence a little more rigidly.

Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8bc42fbf7bb53f4942c50be10be572ee479bab0f

Git commit 10d5f97706f6228b607daebb90166752beb8fc77 by Bryce Harrington (on behalf of Marek Chalupa) on 16/11/2015 at 19:42..
event-loop: remove extra header

we don't use assert() anywhere in this file, so remove #include <assert.h>

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/10d5f97706f6228b607daebb90166752beb8fc77

Git commit 5660ea414f9a2a81409074346bb6140342e02425 by Bryce Harrington (on behalf of Peter Hutterer) on 16/11/2015 at 19:57..
doc: make the doxygen output dependent on scanner.c

When the scanner changes, we need to rebuild

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5660ea414f9a2a81409074346bb6140342e02425

Git commit c7bada036db1b630bbd4de8a31914b521d3bcdd1 by Bryce Harrington (on behalf of Marek Chalupa) on 16/11/2015 at 20:58..
add wl_abort private function

On many places in the code we use wl_log + abort or wl_log + assert(0).
Replace these with one call to wl_abort, so that we don't mix abort(),
assert(0) and we'll save few lines

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c7bada036db1b630bbd4de8a31914b521d3bcdd1

Git commit 9d794d9f7736ab7ae177aeb69d946f78a00363d2 by Pekka Paalanen (on behalf of Peter Hutterer) on 17/11/2015 at 12:36..
Revert "Remove protocol/wayland.dtd"

This reverts commit 06fb8bd371403d43bc192577abd6b0a0c8b29c59.

Having a DTD hooked up gives an indication of what we expect the protocol to
be, which is a clearer documentation than the current "whatever scanner.c
manages to parse".

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9d794d9f7736ab7ae177aeb69d946f78a00363d2

Git commit 0e8619211476ec38610108850033f6aee21f1978 by Pekka Paalanen (on behalf of Peter Hutterer) on 17/11/2015 at 12:36..
protocol: allow for a <description> element below <protocol>

The scanner parses this already, it doesn't do anything with it though.

The DTD requires the order to be copyright, description, then the interfaces.
That's largely a DTD limitation, the scanner doesn't care.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0e8619211476ec38610108850033f6aee21f1978

Git commit e65aed46168fc86a7e78db071472278ea533f526 by Pekka Paalanen (on behalf of Peter Hutterer) on 17/11/2015 at 12:36..
protocol: add the new bitfields to the dtd

See 851614fa78862499e016c5718e730fefbb8e3b73

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Auke Booij <auke at tulcod.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e65aed46168fc86a7e78db071472278ea533f526

Git commit f66e2d53dd8920451a4d9544b2fd2568a6a75b9b by Pekka Paalanen (on behalf of Peter Hutterer) on 17/11/2015 at 12:36..
Validate the protocol xml during scanning

Embed the wayland.dtd protocol data into the scanner binary so we can validate
external protocol files without requiring makefile changes. Hat-tip to Pekka
Paalanen for the embedding trick.
The embedding trick doesn't work well if the to-be-embedded file is in a
different location than the source file, so copy/link it during configure and
then build it in from the local directory.

The current expat parser is not a validating parser, moving scanner.c to
another parser has the risk of breaking compatibility. This patch adds libxml2
as extra (optional) dependency, but that also requires parsing the input
twice.

If the protocol fails validation a warning is printed but no error is returned
otherwise.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f66e2d53dd8920451a4d9544b2fd2568a6a75b9b

Git commit 3dc7c2c84675483ca0a018ae8f66ebad5639a0bc by Pekka Paalanen on 19/11/2015 at 07:47..
Makefile: use automake rule for compiling .S

Automake seems to have its own rules for compiling an .o from an .S.
Essentially it does the same as our hand-crafted rule, but adds some
things like dependency file generation.

Remove our hand-crafted rule to use the automake rule, it is less
surprising.

http://www.gnu.org/software/automake/manual/html_node/Assembly-Support.html

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Víctor Jáquez <vjaquez at igalia.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3dc7c2c84675483ca0a018ae8f66ebad5639a0bc

Git commit b644594a2ce918e6a9d3dde5d3d60a1405a0ffd9 by Pekka Paalanen on 19/11/2015 at 07:48..
scanner: drop altmacro from dtddata.S

Stop using .altmacro in dtddata.S, because clang does not yet implement
it. Turns out that we do not actually seem to need it, and we can modify
the syntax to work without it.

Moving the double quotes from the binfile line to the .incbin line is
required to avoid the assembler error "missing string". Instead of & we
now use \() to mark the end of macro argument name.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92988

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Víctor Jáquez <vjaquez at igalia.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b644594a2ce918e6a9d3dde5d3d60a1405a0ffd9

Git commit a5ef9304fe342cf012aba36cef066f61b03236d7 by Derek Foreman on 20/11/2015 at 16:25..
protocol: Remove incorrect statement that attach must precede damage

The documentation for wl_surface.commit makes it clear that the
application of damage follows attach during the commit, so it
doesn't matter what order the app sends the requests.

Many existing apps post damage before attaching a buffer already,
and it's really quite reasonable to do so.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a5ef9304fe342cf012aba36cef066f61b03236d7

Git commit d5f22d29dfb46b755b1d0565c20fbf092a06526b by Bryce Harrington (on behalf of Peter Hutterer) on 24/11/2015 at 07:48..
protocol: fix a couple of whitespace issues

8 spaces is one tab

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d5f22d29dfb46b755b1d0565c20fbf092a06526b

Git commit 389c84e24868d68141364093ad0acd372c6195f4 by Derek Foreman (on behalf of Marek Chalupa) on 27/11/2015 at 21:15..
server: remove redundant include

we don't use ffi in wayland-server.c

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/389c84e24868d68141364093ad0acd372c6195f4

Git commit 3384f69ecf043d62a4e036c0353c2daa01d7c4d0 by Derek Foreman on 03/12/2015 at 15:19..
protocol: Add wl_surface.damage_buffer

wl_surface.damage uses surface local co-ordinates.

Buffer scale and buffer transforms came along, and EGL surfaces
have no understanding of them.

Theoretically, clients pass damage rectangles - in Y-inverted surface
co-ordinates) to EGLSwapBuffersWithDamage, and the EGL implementation
passed them on to wayland.  However, for this to work the EGL
implementation must be able to flip those rectangles into the space
the compositor is expecting, but it's unable to do so because it
doesn't know the height of the transformed buffer.

So, currently, EGLSwapBuffersWithDamage is unusable and EGLSwapBuffers
has to pass (0,0) - (INT32_MAX, INT32_MAX) damage to function.

wl_surface.damage_buffer allows damage to be registered on a surface
in buffer co-ordinates, avoiding this problem.

Credit where it's due, these ideas are not entirely my own:
Over a year ago the idea of changing damage co-ordinates to buffer
co-ordinates was suggested (by Jason Ekstrand), and it was at least
partially rejected and abandoned.  At the time it was also suggested
(by Pekka Paalanen) that adding a new wl_surface.damage_buffer request
was another option.

This will eventually resolve:
https://bugs.freedesktop.org/show_bug.cgi?id=78190
by making the problem irrelevant.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3384f69ecf043d62a4e036c0353c2daa01d7c4d0

Git commit 87321d0f2fb61a3808e7a0cc1d71f82d065b2cd2 by Bryce Harrington (on behalf of Peter Hutterer) on 07/12/2015 at 22:26..
protocol: specify behavior of get_pointer when capabilities change

Also applies to touch/keyboard

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/87321d0f2fb61a3808e7a0cc1d71f82d065b2cd2

Git commit 225830dcb8bf1a6583d0f4ca182584024783923e by Bryce Harrington on 18/12/2015 at 19:31..
server: Add a socket with an existing fd

This adds functionality to allow system-level control over handing out
file descriptors for sockets, to allow tighter security when running a
Wayland compositor under a Wayland session server.  Allows writing
socket activated Wayland servers.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Cc: Sung-Jin Park <sj76.park at samsung.com>
Cc: Sangjin Lee <lsj119 at samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/225830dcb8bf1a6583d0f4ca182584024783923e

Git commit 2f666ee34fb414f43def75c1caa1243feb349f8d by Jonas Ådahl on 12/01/2016 at 04:05..
scanner: Add missing brackets

A statement was added at the same indentation level as the true branch
of the if statement, but since there were no brackets, it would be
executed independently of the result of the if condition.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f666ee34fb414f43def75c1caa1243feb349f8d

Git commit 3de1783e5038639128bb37f2937eeee3e36aefe6 by Jonas Ådahl on 12/01/2016 at 04:05..
scanner: Fail if 'since' is higher than the interface version

If an event or request have a "since" attribute that is larger than
the version of the interface it is in, fail with an explaining error
message.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3de1783e5038639128bb37f2937eeee3e36aefe6

Git commit 2e7fb786825472d2a4b717e0b82d216aa90fb3e0 by Jonas Ådahl on 12/01/2016 at 04:13..
Use zalloc instead of malloc + memset

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2e7fb786825472d2a4b717e0b82d216aa90fb3e0

Git commit edbee66cbd11f2b186831ac6c92937f638586961 by Jonas Ådahl on 12/01/2016 at 04:13..
doc: Fix function membership

Put the various misplaced functions in the right class; partly because
its where they belong, and partly to make intra-class \ref(erences)
happy.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/edbee66cbd11f2b186831ac6c92937f638586961

Git commit ee9b69cfe0c94a297e1dea7cc4ff147d740c4294 by Jonas Ådahl on 12/01/2016 at 04:13..
doc: Fix incorrect parameter name

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ee9b69cfe0c94a297e1dea7cc4ff147d740c4294

Git commit 0a37511ecc0117339e5e5d0add84a2f3b51493d2 by Derek Foreman (on behalf of Jaeyoon Jung) on 12/01/2016 at 16:45..
server: Calculate remaining data size after a closure is processed

When processing a closure, data in the connection can be consumed again
if the closure itself invokes extra event dispatch. In that case the
remaining data size is also altered, so the variable len should be
updated after the closure is processed.

Signed-off-by: Jaeyoon Jung <jaeyoon.jung at lge.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0a37511ecc0117339e5e5d0add84a2f3b51493d2

Git commit 693bf00083c372de4da785810429498d215d0c85 by Bryce Harrington (on behalf of Victor Berger) on 13/01/2016 at 22:47..
client: Add missing arg in a wl_log invocation

Without this 'proxy' argument, the '%p' formatter prints a constant
garbage value.

Signed-off-by: Victor Berger <victor.berger at m4x.org>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/693bf00083c372de4da785810429498d215d0c85

Git commit 1b7191743eeeecedd66af03eeb960c5978fc8335 by Bryce Harrington (on behalf of Marek Chalupa) on 13/01/2016 at 23:11..
server: don't send an error to NULL display_resource

if display_resource = wl_resource_create() fails in bind_display(),
we call wl_client_post_no_memory() which is wrong, since this function
uses display_resource (which is NULL at this point).
said simply: don't send an error to resource that you've just failed to create)

https://bugs.freedesktop.org/show_bug.cgi?id=91356

Reported-by: Ashim <ashim.shah at samsung.com>
Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1b7191743eeeecedd66af03eeb960c5978fc8335

Git commit 69a5a6d16c3ce97d6032ad61ba3503c8e598d359 by Bryce Harrington on 13/01/2016 at 23:20..
socket-test: Fix some comment typos

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/69a5a6d16c3ce97d6032ad61ba3503c8e598d359

Git commit 2b236af9b7f21b81df9ded062921da6cc3f37eb9 by Bryce Harrington on 13/01/2016 at 23:21..
socket-test: Refactor if check into the assert

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2b236af9b7f21b81df9ded062921da6cc3f37eb9

Git commit c5356e9016aa814a873a765bb2cbe57e804e5ea7 by Jonas Ådahl (on behalf of Peter Hutterer) on 14/01/2016 at 07:29..
protocol: add wl_pointer.frame, axis_source, axis_stop, and axis_discrete

The frame event groups separate pointer events together. The primary use-case
for this at the moment is diagonal scrolling - a vertical/horizontal scroll
event can be grouped together to calculate the correct motion vector.
Frame events group all wl_pointer events. An example sequence of motion events
followed by a diagonal scroll followed by a button event is:
wl_pointer.motion
wl_pointer.frame
wl_pointer.motion
wl_pointer.frame
wl_pointer.axis
wl_pointer.axis
wl_pointer.frame
wl_pointer.button
wl_pointer.frame

In the future, other extensions may insert additional information about an
event into the frame. For example, an extension may add information about the
physical device that generated an event into the frame. For this reason,
enter/leave events are grouped by a frame event too.

The axis_source event determines how an axis event was generated. That enables
clients to judge when to use kinetic scrolling. Only one axis_source event is
allowed per frame and applies to all events in this frame.

The axis_stop event notifies a client about the termination of a scroll
sequence, likewise needed to calculate kinetic scrolling parameters.
Multiple axis_stop events within the same frame indicate that scrolling has
stopped in all these axis at the same time.

The axis_discrete event provides the wheel click count. Previously the axis
value was some hardcoded number (10), with the discrete steps this enables a
client to differ between line-based scrolling on a mouse wheel and smooth
scrolling with a touchpad. The axis_discrete event carries the axis
information and the discrete value and can occur at any time in the frame
provided it is ordered before the matching axis event. Specifically, this
sequence is valid:

wl_pointer.axis_source
wl_pointer.axis_discrete (vert)
wl_pointer.axis_discrete (horiz)
wl_pointer.axis (horiz)
wl_pointer.axis (vert)
wl_pointer.frame

Enter and leave event also trigger wl_pointer.frame events, where possible the
compositor should group leave and subsequent enter into the same frame. This
indicates to the client that the pointer has moved between surfaces and may
allow a client to shortcut code otherwise triggerd by the leave or enter
events.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c5356e9016aa814a873a765bb2cbe57e804e5ea7

Git commit 16b4cc6902e2755522ce792ee2796df487c0860a by Derek Foreman on 14/01/2016 at 19:12..
server: improve failure log message for wl_global_create()

The gratuitous %m jammed onto the end of the string prints errno
concatenated with the word "version".

I've removed the %m, and printed some additional information about the
failure.

Also, reversed the order of the expressions in the conditional to
make it match the english in the log message.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/16b4cc6902e2755522ce792ee2796df487c0860a

Git commit 2b4c053924150d6652c42aa28ce70d173757ab0b by Derek Foreman on 14/01/2016 at 19:12..
server: Test for illegally low interface versions in wl_global_create()

Any version lower than 1 is unreasonable.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2b4c053924150d6652c42aa28ce70d173757ab0b

Git commit 5c4272b8e9b16d632e89f1e9448abc370b957443 by Jonas Ådahl (on behalf of Carlos Garnacho) on 16/01/2016 at 08:34..
protocol: Improve data source notification around DnD progress

Currently, there's no means for the DnD origin to know whether the
destination is actually finished with the DnD transaction, short of
finalizing it after the first transfer finishes, or leaking it forever.

But this poses other interoperation problems, drag destinations might
be requesting several mimetypes at once, might be just poking to find
out the most suitable format, might want to defer the action to a popup,
might be poking contents early before the selection was dropped...

In addition, data_source.cancelled is suitable for the situations where
the DnD operation fails (not on a drop target, no matching mimetypes,
etc..), but seems undocumented for that use (and unused in weston's DnD).

In order to improve the situation, the drag source should be notified
of all stages of DnD. In addition to documenting the "cancelled" event
for DnD purposes, The following 2 events have been added:

- wl_data_source.dnd_drop_performed: Happens when the operation has been
  physically finished (eg. the button is released), it could be the right
  place to reset the pointer cursor back and undo any other state resulting
  from the initial button press.
- wl_data_source.dnd_finished: Happens when the destination side destroys
  the wl_data_offer, at this point the source can just forget all data
  related to the DnD selection as well, plus optionally deleting the data
  on move operations.

Changes since v6:
  - Turned wl_data_offer.finish calls with 0/NULL state/mimetype an
    error, made it explicit that it will only result in
    wl_data_offer.dnd_finished being sent if successful.

Changes since v5:
  - Further rewording of wl_data_offer.finish and wl_data_offer.accept.
    Added error for untimely wl_data_offer.finish requests.

Changes since v4:
  - Applied rewording suggestions from Jonas Ådahl. Added new
    wl_data_offer.finish request to allow explicit finalization on the
    destination side.

Changes since v3:
  - Renamed dnd_performed to a more descriptive dnd_drop_performed,
    documented backwards compatible behavior on wl_data_offer.accept and
    wl_data_source.cancelled.

Changes since v2:
  - Minor rewording.

Changes since v1:
  - Renamed events to have a common "dnd" namespace. Made dnd_performed to
    happen invariably, data_device.cancelled may still happen afterwards.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Michael Catanzaro <mcatanzaro at igalia.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Mike Blumenkrantz <zmike at samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c4272b8e9b16d632e89f1e9448abc370b957443

Git commit da7b2489041ef465158601087ed0ef6d2e68445d by Jonas Ådahl (on behalf of Carlos Garnacho) on 16/01/2016 at 08:34..
protocol: Add DnD actions

These 2 requests have been added:

- wl_data_source.set_actions: Notifies the compositor of the available
  actions on the data source.
- wl_data_offer.set_actions: Notifies the compositor of the available
  actions on the destination side, plus the preferred action.

Out of the data from these requests, the compositor can determine the action
both parts agree on (and let the user play a role through eg. keyboard
modifiers). The chosen option will be notified to both parties
through the following two requests:

- wl_data_source.action
- wl_data_offer.action

In addition, the destination side can peek the source side actions through
wl_data_offer.source_actions.

Compared to the XDND protocol, there's two notable changes:

- XDND lets the source suggest an action, whereas wl_data_device lets
  the destination prefer a given action. The difference is subtle here,
  it comes off as convenience because it is the drag destination which
  receives the motion events (unlike in X) and can perform action updates.

  The drag destination seems also in a better position to update the
  preferred action based on things like the data being transferred, the
  place being dropped, and whether the drag is client-local.

- That same source-side preferred action is used in XDND to convey the
  modifier-induced action to the drag destination, which would then ack
  it, or reply with another action that's accepted (or none), this makes
  the XdndPosition/XdndStatus messaging very verbose, and synchronous
  because the drag source always needs to know the latest status/action
  for every position+action sent.

  Here it's the compositor which takes care of modifiers and matching
  available/accepted actions, this allows for the signaling to happen
  only whenever the actions/modifiers change for real.

Roughly based on previous work by Giulio Camuffo <giuliocamuffo at gmail.com>

Changes since v10:
- Narrow down the situations where wl_data_source/offer.accept requests
  are supposed to happen.

Changes since v9:
- Deferred the protocol errors to .finish after some IRC chat with Jonas,
  added further errors if actions API is used on selection sources/offers.

Changes since v8:
- Defined further the expected behavior on "ask", described the protocol
  errors that may happen. Fix more spaces vs tabs issues.

Changes since v7:
- Misc changes after updating the progress notification patch.

Changes since v6:
- Further explanations on wl_data_source/offer.set_actions, including a
  description of "ask" actions. Added protocol errors for unknown action
  values.

Changes since v5:
- Applied rewording suggestions from Jonas Ådahl. Dropped slot reservation
  scheme for actions. Fixed indentation and other minor formatting issues.

Changes since v4:
- Minor rewording.

Changes since v3:
- Splitted from DnD progress notification changes.
- Further rationales in commit log.

Changes since v2:
- Renamed notify_actions to set_actions on both sides, seems more consistent
  with the rest of the protocol.
- Spelled out better which events may be triggered on the compositor side
  by the requests, the circumstances in which events are emitted, and
  what are events useful for in clients.
- Defined a minimal common ground wrt compositor-side action picking and
  keybindings.
- Acknowledge the possibility of compositor/toolkit defined actions, even
  though none are used at the moment.
Changes since v1:
- Added wl_data_offer.source_actions to let know of the actions offered
  by a data source.
- Renamed wl_data_source.finished to "drag_finished" for clarity
- Improved wording as suggested by Bryce

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Michael Catanzaro <mcatanzaro at igalia.com>
Reviewed-by: Mike Blumenkrantz <zmike at samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/da7b2489041ef465158601087ed0ef6d2e68445d

Git commit 0edeeb9cd5806959660af54d63fe9d402d50e6e7 by Jonas Ådahl on 16/01/2016 at 08:37..
client: Correct documentation regarding thread safeness

The current documentation about wl_display_dispatch() states one may not
mix wl_display_dispatch(_queue)() with wl_display_prepare_read() and
friends, but this is a misconception about how
wl_display_dispatch(_queue)() works. The fact is that the dispatch
functions does the equivalent of what the preparation API does
internally, and it is safe to use together.

What is not safe is to dispatch using the wl_display_dispatch(_queue)()
functions while being prepared to read using wl_display_read_events().

This patch rewrites the documentation to correctly state when the
various API's are thread safe and how they may not be used.

https://bugs.freedesktop.org/show_bug.cgi?id=91767

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0edeeb9cd5806959660af54d63fe9d402d50e6e7

Git commit 0b44298a15674121ff54585c706bfdefc0d9942a by Jonas Ådahl on 16/01/2016 at 08:37..
client: Remove misplaced documentation about main loop intergration

There was documentation about how to integrate the display server file
descriptor in the documentation about wl_display_dispatch_pending().
This is not the right place to put it, and it also had incorrect usage
of the API (calling wl_display_dispatch_queue() on input on an unrelated
fd) as an example.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0b44298a15674121ff54585c706bfdefc0d9942a

Git commit c767f35b122737d282125f0b864caf552c21e0eb by Jonas Ådahl on 16/01/2016 at 08:37..
client: Don't make EPIPE fatal if triggered when flushing

If flushing hits EPIPE it should not make it a fatal error since it
would make it impossible to process the rest of the data available in
the buffer. Instead, let reading the socket make EPIPE fatal, letting
the client have the possibility to process the last messages including
any error causing the termination.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c767f35b122737d282125f0b864caf552c21e0eb

Git commit 689fff36ca7d2967b4f2724f731df1391df4f337 by Jonas Ådahl on 16/01/2016 at 08:37..
client: Use read preparation API in wl_display_dispatch_queue()

Instead of doing things that do the equivalent of using
wl_display_prepare_read() and friends, just use the public API. The
only semantical difference is that we will now unlock and lock the mutex
more times compared to before.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/689fff36ca7d2967b4f2724f731df1391df4f337

Git commit 242617c3161f7d50a592ab21607301aacd4e8f8c by Jonas Ådahl on 16/01/2016 at 08:37..
client: Fully flush during blocking dispatch

wl_display_flush() may fail with EAGAIN which means that not all data
waiting in the buffer has been flushed. We later block until there is
data to read, which could mean that we block on input from the
compositor without having sent out all data from the client. Avoid this
by fully flushing the socket before starting to wait.

This commit also changes the array length of the struct pollfd array
from 2 to 1, as only one element was ever used.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/242617c3161f7d50a592ab21607301aacd4e8f8c

Git commit 7efe8fbd89b069947d616ba187732ce2c2804839 by Jonas Ådahl on 16/01/2016 at 08:37..
tests: Synchronize client termination in idle callback

We currently wait for clients in the wl_client destroy signal, which is
called before the client is destructed and the socket is closed. If test
clients rely on being closed due to the socket being closed we'd dead
lock. Avoid this by synchronizing in an idle task that is called after
the client is fully destroyed.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7efe8fbd89b069947d616ba187732ce2c2804839

Git commit 046012a6cf1a50e1de2c73cf5a29098453b0171f by Jonas Ådahl on 16/01/2016 at 08:37..
tests: Pass argument to client main

Change the API to pass an "void *" argument to the client main
function, allowing the caller to call the same main function with
different input.

A helper (client_create_noarg) is added for when no argument is passed,
and the existing test cases are changed to use this function instead.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/046012a6cf1a50e1de2c73cf5a29098453b0171f

Git commit c6437817dd9bbb2fd1027a103e77e238ad5e5ddb by Jonas Ådahl on 16/01/2016 at 08:37..
tests: Test that one can fetch the protocol error after EPIPE

If a client is terminated due to some reason, it should always be
possible to retrieve protocol error associated with the termination.
Test that, while either using the dispatch helpers
(wl_display_dispatch(_queue)() or the prepare read API, it should be
possible to retrieve the error after EPIPE.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c6437817dd9bbb2fd1027a103e77e238ad5e5ddb

Git commit 557032e36cf5c45ec1a827f2ec49bdcce3833e80 by Derek Foreman (on behalf of Jason Ekstrand) on 19/01/2016 at 19:58..
Track protocol object versions inside wl_proxy.

This provides a standardized mechanism for tracking protocol object
versions in client code.  The wl_display object is created with version 1.
Every time an object is created from within wl_registry_bind, it gets the
bound version.  Every other time an object is created, it simply inherits
it's version from the parent object that created it.

(comments and minor reformatting added
by Derek Foreman <derekf at osg.samsung.com>)

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>

Second trivial commit squashed into this one:
Authored by Derek Foreman <derekf at osg.samsung.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
(it's literally one of code and a lot of comments)

This sets wl_display's version (for proxy version query purposes)
to 0.  Any proxy created with unversioned API (this happens when
a client compiled with old headers links against new wayland)
will inherit this 0.

This gives us a way for new libraries linked by old clients to
realize they can't know a proxy's version.

wl_display's version being unqueryable (always returning 0) is
an acceptable side effect, since it's a special object you can't
bind specific versions of anyway.

Second half:
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/557032e36cf5c45ec1a827f2ec49bdcce3833e80

Git commit e9d894204b1a424ff999acbfd28a933478bd6531 by Derek Foreman on 19/01/2016 at 19:59..
tests: Test proxy versions

Add a test that confirms that proxy versions are always 0 for display
and correct otherwise.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e9d894204b1a424ff999acbfd28a933478bd6531

Git commit 7ed00c1de77afbab23f4908fbd9d60ec070c209b by Bryce Harrington on 19/01/2016 at 22:30..
configure.ac: bump to version 1.9.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7ed00c1de77afbab23f4908fbd9d60ec070c209b

Git commit eb52bb8e14f4d1ed3564abbb48ef3ddd28b115c0 by Bryce Harrington (on behalf of Sung-Jin Park) on 19/01/2016 at 22:52..
server: Add an API to get the file descriptor for a client

This adds an API to get the file descriptor for a client.
The client file descriptor can be used for a wayland compositor to validate
a request from a client if there are any additional information provided from
the client's file descriptor.

For instance, this will be helpful in some linux distributions, in which SELinux
or SMACK is enabled. In those environments, each file (including socket) will have
each security contexts in its inode as xattr member variable. A wayland compositor
can validate a client request by getting the file descriptor of the client and
by checking the security contexts associated with the file descriptor.

Signed-off-by: Sung-Jin Park <input.hacker at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eb52bb8e14f4d1ed3564abbb48ef3ddd28b115c0

Git commit 14b76a0e24c988334c18f477572a556ba005b182 by Bryce Harrington on 19/01/2016 at 22:54..
configure.ac: re-bump to version 1.9.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/14b76a0e24c988334c18f477572a556ba005b182

Git commit ac36082813c459e64ae1f564002a7cadfa0a7637 by Bryce Harrington (on behalf of Sergi Granell) on 01/02/2016 at 23:53..
server: Fix possible wl_display_add_socket_fd memleak

If wl_event_loop_add_fd failed, the fail path didn't free the
newly allocated struct wl_socket.
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ac36082813c459e64ae1f564002a7cadfa0a7637

Git commit ed680954c87a726a7e98c098b8c35604b1633295 by Bryce Harrington (on behalf of Jonas Ådahl) on 02/02/2016 at 00:59..
protocol: Add note about per version requirements to wl_data_device_manager

Add a note to the wl_data_device_manager global interface about the
different requirements for operating the objects created from the bound
global.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Carlos Garnacho <carlosg at gnome.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed680954c87a726a7e98c098b8c35604b1633295

Git commit 5ac34a101237a1534dcd7c14952f7c20ac2d9235 by Bryce Harrington (on behalf of Marek Chalupa) on 02/02/2016 at 01:05..
cosmetic: return NULL instead of 0

we're returning a pointer

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5ac34a101237a1534dcd7c14952f7c20ac2d9235

Git commit 0d56e380f676e6fe475ffba71f11b480adf4e0a5 by Bryce Harrington (on behalf of Derek Foreman) on 02/02/2016 at 01:26..
server: Fail to bind object when requested version is 0

0 is not a valid version number for registry bind requests, so
let's check for it in registry_bind.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0d56e380f676e6fe475ffba71f11b480adf4e0a5

Git commit 7b42788f212079c2ef4c69c095efa50e90ca1301 by Bryce Harrington (on behalf of Jonas Ådahl) on 02/02/2016 at 01:39..
scanner: Print filename on DTD validation error

Don't just print prefix the errors with "protocol", but the actual file
name, if wayland-scanner was passed with the filename of the protocol
file. If wayland-scanner is reading from stdin, errors will be prefixed
with "<stdin>" instead of "protocol".

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: David Fort <contact at hardening-consulting.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7b42788f212079c2ef4c69c095efa50e90ca1301

Git commit 816a0ae09bd5c370b95cee459905976dc14cfac0 by Bryce Harrington on 02/02/2016 at 23:30..
configure.ac: bump to version 1.9.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/816a0ae09bd5c370b95cee459905976dc14cfac0

Git commit 369b6466a71175289572c4ef8f70af65f620fb88 by Bryce Harrington (on behalf of Derek Foreman) on 04/02/2016 at 19:11..
scanner: Fix oddities in copyright printing

Some copyright strings could result in broken generated header files with
unmatched */

This change:
Runs the loop long enough so the copyright[i] == 0 test can actually
happen. (if there was no \n no copyright text was printed, */ still was)

Prints the opening /* even if there was whitespace at the start of
the very first line.

Only emits a */ if a /* was printed.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/369b6466a71175289572c4ef8f70af65f620fb88

Git commit 3f59d94084a1a9d9d1286918288da94eb1b75968 by Héctor Orón Martínez on 04/02/2016 at 22:47..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3f59d94084a1a9d9d1286918288da94eb1b75968

Git commit 55d2b4a8811713ca5ae9091ccf8a380bd060aba2 by Héctor Orón Martínez on 04/02/2016 at 22:47..
update debian/watch (Closes: #813484)

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/55d2b4a8811713ca5ae9091ccf8a380bd060aba2

Git commit bece5a9fc4c865b1edf1ad0858963502cae6e633 by Héctor Orón Martínez on 04/02/2016 at 22:47..
update debian/libwayland-{client,server}0.symbols

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bece5a9fc4c865b1edf1ad0858963502cae6e633

Git commit e6fbf4f564a089c48c76aea2b027e187a017c086 by Héctor Orón Martínez on 04/02/2016 at 22:47..
d/control: build depend on libxml2-dev

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e6fbf4f564a089c48c76aea2b027e187a017c086

Git commit 7f86f329de597ac562b08d7572e48bcf72492ee2 by Héctor Orón Martínez on 04/02/2016 at 22:47..
Release Debian version 1.9.92-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7f86f329de597ac562b08d7572e48bcf72492ee2

Git commit 6301639146474795da10952db86ea3ef4849f568 by Bryce Harrington (on behalf of Sergi Granell) on 05/02/2016 at 00:37..
cosmetic: use tabs instead of spaces
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6301639146474795da10952db86ea3ef4849f568

Git commit d33514379d311bd9ddd4a2e1e97c8205a8111d3c by Bryce Harrington (on behalf of Sergi Granell) on 05/02/2016 at 00:37..
cosmetic: add an space after if
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d33514379d311bd9ddd4a2e1e97c8205a8111d3c

Git commit 1906a90aab613501396fe4fb72c7fba9e13ee161 by Bryce Harrington on 09/02/2016 at 21:26..
configure.ac: bump to version 1.9.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1906a90aab613501396fe4fb72c7fba9e13ee161

Git commit bf34ac75d0d61609296de1300196c843f4246e7c by Bryce Harrington (on behalf of Jonas Ådahl) on 11/02/2016 at 21:48..
connection: Don't add uninitialized memory as 4 byte alignment padding

When we are adding padding bytes making our wl_buffer buffer content 4
byte aligned, we are just moving the pointer. Since the buffer is
allocated using plain malloc(), this means our padding bytes are
effectively uninitialized data, which could be anything previously
allocated in the server process. As we'll be sharing this buffer
content with arbitrary clients, we are effectively sharing private
memory with every client, and even though a well behaving client will
discard any such memory, a malicious client may not.

Therefor, to avoid any potential missuse of the uninitialized padding
memory shared between the server and client, initialize the buffer
content to 0, making the padding bytes always 0.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bf34ac75d0d61609296de1300196c843f4246e7c

Git commit 0ff73b7666b8aee1a68302dd6a7664b68aa659af by Bryce Harrington on 16/02/2016 at 20:03..
configure.ac: bump to version 1.10.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0ff73b7666b8aee1a68302dd6a7664b68aa659af

Git commit 22acc9cec921720bacfdf77e13a73fdb4a379876 by Bryce Harrington on 17/02/2016 at 01:15..
configure.ac: bump to version 1.10.90 for open development

Master is open for new feature development again.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/22acc9cec921720bacfdf77e13a73fdb4a379876

Git commit 6801d2d851ff5494c992d6b354964032da7647d6 by Bryce Harrington (on behalf of Derek Foreman) on 17/02/2016 at 05:51..
resource-test: Use wl_seat instead of wl_display for testing

We're creating resources with versions up to 4.  wl_display isn't version 4,
so this is technically verifying that we can do something we shouldn't.

wl_seat already has versions this high, so switch to that.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6801d2d851ff5494c992d6b354964032da7647d6

Git commit 88ff135ad46b556b6fdeb1244ffd019a262967bc by Bryce Harrington (on behalf of Derek Foreman) on 17/02/2016 at 06:07..
server: validate resource versions at creation time

We shouldn't ever create a resource with version less than 1 or
greater than the interface version.

Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/88ff135ad46b556b6fdeb1244ffd019a262967bc

Git commit 8216abc5877a29bd8c20d8adb257e084d1390f29 by Bryce Harrington (on behalf of Derek Foreman) on 17/02/2016 at 06:13..
build: Add an --enable-fatal-warnings configure option

New --enable-fatal-warnings ./configure option that just adds -Werror
to GCC_CFLAGS

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8216abc5877a29bd8c20d8adb257e084d1390f29

Git commit 8125919b0d8e7c776652e4f1d829b9edfa6c4a68 by Bryce Harrington (on behalf of Derek Foreman) on 17/02/2016 at 06:13..
build: build distcheck with --enable-fatal-warnings

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8125919b0d8e7c776652e4f1d829b9edfa6c4a68

Git commit 8f2da5e82b45bc69db2a575aa9832027d010c307 by Derek Foreman on 17/02/2016 at 15:12..
Revert "build: build distcheck with --enable-fatal-warnings"

This reverts commit 8125919b0d8e7c776652e4f1d829b9edfa6c4a68.

This makes things far more annoying than intended, especially since
the list of default warnings isn't consistent from distro to distro.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8f2da5e82b45bc69db2a575aa9832027d010c307

Git commit 3a2553ff013a3661ec044917ccde4a74fe152dc9 by Derek Foreman on 19/02/2016 at 00:23..
Revert "server: validate resource versions at creation time"

This reverts commit 88ff135ad46b556b6fdeb1244ffd019a262967bc.

The parent interface version may be higher than this interface version,
and the child object should inherit that version.

This check is wrong.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3a2553ff013a3661ec044917ccde4a74fe152dc9

Git commit cde251a124d41977b447098cc530fcad2834a45f by Bryce Harrington (on behalf of Bill Spitzak) on 20/02/2016 at 03:26..
doc: Use enum argument type to make links in protocol documentation

Reviewed-by: Auke Booij <auke at tulcod.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cde251a124d41977b447098cc530fcad2834a45f

Git commit 25fcb88a269a434196cf89df835ba6326bacacab by Pekka Paalanen (on behalf of Jonas Ådahl) on 26/02/2016 at 09:55..
client: Don't segfault when receiving error on destroyed object

If an error is received on a destroyed object, we'd get NULL passed
to display_handle_error() instead of a pointer to a valid wl_proxy.

The logging is changed to report [unknown interface] and [unknown id]
instead of the actual interface name and id.

The wl_display_get_protocol_error() documentation is updated to handle
the situation. For when the proxy was NULL, the object id 0 and
interface NULL is written.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
[Pekka: changed the error message wording]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/25fcb88a269a434196cf89df835ba6326bacacab

Git commit 564623653a146ba74714bcf3569d8082a2afd3f0 by Pekka Paalanen (on behalf of Marek Chalupa) on 26/02/2016 at 09:56..
tests: add test for receiving an error on destroyed object

test if receiving an error on already destroyed object won't
do any harm

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Tested-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/564623653a146ba74714bcf3569d8082a2afd3f0

Git commit 4a41d26c4d0f4775f3a013a41a32ac1512a0a177 by Bryce Harrington (on behalf of Pekka Paalanen) on 29/02/2016 at 23:32..
build: fix ./configure --disable-dtd-validation

When configured with --disable-dtd-validation:

  CPPAS    src/dtddata.o
src/dtddata.S: Assembler messages:
src/dtddata.S:39: Error: file not found: src/wayland.dtd.embed
Makefile:1520: recipe for target 'src/dtddata.o' failed

This is because the variable name used does not match the implicit
variable name in autoconf.

Fix the variable name, making both --disable-dtd-validation and
--enable-dtd-validation to what they should.

Do not try to build dtddata.S if dtd-validation is disabled. It depends
on wayland.dtd.embed which is created by configure only if
dtd-validation is enabled.

If not building dtddata.S, also make sure the extern definitions in
scanner.c are compiled out.

Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=575212
Reported-by: leio at gentoo.org
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
Tested-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a41d26c4d0f4775f3a013a41a32ac1512a0a177

Git commit f8f3e54aa7bc15871ca4296cbc16ae065b07de4e by Pekka Paalanen on 02/03/2016 at 10:05..
scanner: avoid executable stack

Before this patch:
$ scanelf -lpqe ./wayland-scanner
RWX --- ---  ./wayland-scanner

That indicates the stack is executable, which is a bad thing for
security. Wayland-scanner does not actually need an executable stack, it
is just an oversight from using an .S file in the sources.

Add a special incantation in dtddata.S to make it not cause the stack to
become executable.

Reported-by: Mart Raudsepp <leio at gentoo.org>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Mart Raudsepp <leio at gentoo.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8f3e54aa7bc15871ca4296cbc16ae065b07de4e

Git commit 2b5310a367a81a6132207c398d188edc9e34c15f by Bryce Harrington (on behalf of Peter Hutterer) on 07/03/2016 at 19:55..
doc: generate doxygen html output from the scanner

This switches the scanner to generate doxygen-compatible tags for the
generated protocol headers, and hooks up the doxygen build to generate server
and client-side API documentation. That documentation is now in
Client/ and Server/, respectively.

GENERATE_HTML is on by default and must be disabled for the xml/man targets to
avoid messing up the new documentation. We disable all three three targets in
the doxyfile (xml and man default to NO anyway) to make it obvious that they
need to be set in the per-target instructions.

Each protocol is a separate doxygen @page, with each interface a @subpage.
Wayland only has one protocol, wayland-protocols will have these nested.
Each protocol page has a list of interfaces and the copyright and description
where available.
All interfaces are grouped by doxygen @defgroup and @ingroups and appear in
"Modules" in the generated output. Each interface subpage has the description
and a link to the actual API doc.
Function, struct and #defines are documented in doxygen style and associated
with the matching interface.

Note that pages and groups have fixed HTML file names and are directly
linkable/bookmark-able.

The @mainpage is a separate file that's included at build time. It doesn't
contain much other than links to where the interesting bits are. It's a static
file though that supports markdown, so we can extend it easily in the future.

For doxygen we need the new options EXTRACT_ALL and OPTIMIZE_OUTPUT_FOR_C so
it scans C code properly. EXTRACT_STATIC is needed since most of the protocol
hooks are static.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2b5310a367a81a6132207c398d188edc9e34c15f

Git commit 973a70dbb5a1d2865ec63a268e939585da5a951f by Bryce Harrington (on behalf of Peter Hutterer) on 07/03/2016 at 19:55..
doc: link between client and server doc and to the wayland book

And insert "client" or "server" into the PROJECT_NAME to know which one we
have.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/973a70dbb5a1d2865ec63a268e939585da5a951f

Git commit ba2ee84113e7f9fef9af2ec3998ee437adab5382 by Bryce Harrington on 07/03/2016 at 19:57..
doc: Note strong recommendation to use S-o-b in contributions

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba2ee84113e7f9fef9af2ec3998ee437adab5382

Git commit 5fe7e7ca78eb8c5435f35ed47b54aabdbdcaadf7 by Bryce Harrington (on behalf of Sergi Granell) on 09/03/2016 at 00:37..
server: Fix shm_create_pool size fail path fd leak

If the client passed a size <= 0 to shm_create_pool, it would
go to err_free, which wouldn't close the fd, and thus leave it opened.

We can also move the size check before the struct wl_shm_pool
malloc, so in case the client passes a wrong size, it won't
do an unnecessary malloc and then free.
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5fe7e7ca78eb8c5435f35ed47b54aabdbdcaadf7

Git commit 442f4435868c1ea37e99d3f4fb316434e96faab1 by Bryce Harrington (on behalf of Derek Foreman) on 09/03/2016 at 00:54..
shm: Split pool reference counting into external and internal references

This is a preliminary step towards deferring shm resize operations until
after the compositor has released all external references on a pool.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/442f4435868c1ea37e99d3f4fb316434e96faab1

Git commit ed5f5030cae66576b081f261afb6233ec634f287 by Bryce Harrington (on behalf of Derek Foreman) on 09/03/2016 at 00:54..
shm: Defer wl_shm_pool_resize if a pool has external references

If a compositor is rendering in one thread while dispatching wayland
events in another, a wl_shm_pool_resize() could change the memory
mappings it's rendering from and cause a crash.

Now we defer wl_shm_pool_resize() if the compositor has references on a
pool, and perform the actual resize when it drops those references.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed5f5030cae66576b081f261afb6233ec634f287

Git commit 1d6e885b1dd7e481c7975f6641632ef107163482 by Bryce Harrington (on behalf of Derek Foreman) on 09/03/2016 at 00:55..
shm: Log a warning if a shm buffer address is requested when it may be invalid

If wl_shm_buffer_get_data() is called on a shm pool that has an external
reference and a pending resize, then the buffer may be outside the pool's
current mapping.

Log a warning if this happens.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1d6e885b1dd7e481c7975f6641632ef107163482

Git commit 5192d4c01a1d08d68b0c23663f79b04878bf5c0c by Bryce Harrington (on behalf of Yong Bakos) on 10/03/2016 at 22:55..
doc: Ignore html subdirectory.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5192d4c01a1d08d68b0c23663f79b04878bf5c0c

Git commit 0715ee5cf9c467b0aa2717f6276716d81fd0178b by Bryce Harrington (on behalf of Yong Bakos) on 11/03/2016 at 06:24..
ignore: Add *.dtd.embed

Although autogen.sh has a --disable-dtd-validation option, it is
on by default, so it seems convenient to add the generated symlink
to .gitignore.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0715ee5cf9c467b0aa2717f6276716d81fd0178b

Git commit dac2572eeb5b0b36f8ccb5b28fcfe608ee1035fb by Héctor Orón Martínez on 31/03/2016 at 11:09..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dac2572eeb5b0b36f8ccb5b28fcfe608ee1035fb

Git commit ecd1b74b2d0fce7b3e18a5f67f74b311c5a7aa97 by Héctor Orón Martínez on 31/03/2016 at 11:13..
New upstream release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ecd1b74b2d0fce7b3e18a5f67f74b311c5a7aa97

Git commit 5259084288061ad6ef24e41f456f5f6d9ac7f222 by Pekka Paalanen (on behalf of Yong Bakos) on 01/04/2016 at 15:01..
scanner: Fix spacing of @param

Adds one space to the @param lines in generated .h files,
aligning the indentation with the rest of the comment block.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5259084288061ad6ef24e41f456f5f6d9ac7f222

Git commit e40a46ca210aefa14b8dcc2d6dd233bcc06ba00b by Bryce Harrington (on behalf of Eric Engestrom) on 05/04/2016 at 23:03..
protocol: fix spelling mistake

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e40a46ca210aefa14b8dcc2d6dd233bcc06ba00b

Git commit ae78dcb1ada6033419edcfc93074407518640e42 by Bryce Harrington (on behalf of Eric Engestrom) on 05/04/2016 at 23:03..
wayland-client: fix spelling mistake

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ae78dcb1ada6033419edcfc93074407518640e42

Git commit 05f7aec1d59be56e8f5aaf5445266ac80336dab2 by Pekka Paalanen (on behalf of Emil Velikov) on 19/04/2016 at 08:06..
scanner: move include directives before extern "C" wrapper

Adding extern "C" wrapper before includes (especially system ones) is
illadvised as the headers themselves can behave diffently in that case.

See the section "Including C Headers in C++ Code" in the following
http://www.oracle.com/technetwork/articles/servers-storage-dev/mixingcandcpluspluscode-305840.html

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/05f7aec1d59be56e8f5aaf5445266ac80336dab2

Git commit 897509bc6af0530cb06fa04e05bf6b6c13df8d48 by Pekka Paalanen (on behalf of Emil Velikov) on 19/04/2016 at 08:42..
server: move include directives before extern "C" wrapper

Analogous to previous commit but for the server(-core) header.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/897509bc6af0530cb06fa04e05bf6b6c13df8d48

Git commit 2c8da324844b7ac95b39077efa1af762a22bf619 by Pekka Paalanen (on behalf of Emil Velikov) on 19/04/2016 at 08:46..
utils: move include directives before extern "C" wrapper

Analogous to last two commits.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2c8da324844b7ac95b39077efa1af762a22bf619

Git commit d52de9a1e90530cd9cc3a8dda2a6bcceb801b283 by Emilio Pozuelo Monfort on 20/04/2016 at 19:06..
Don't build the documentation on binary-arch only builds
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d52de9a1e90530cd9cc3a8dda2a6bcceb801b283

Git commit 9ae261d13e30f93839d8c9cbfc8a1c796dfb2406 by Emilio Pozuelo Monfort on 20/04/2016 at 19:12..
Move the manpages to libwayland-doc
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9ae261d13e30f93839d8c9cbfc8a1c796dfb2406

Git commit 226ffd3974de14cc2dd5b13caba48107ebb8c8de by Emilio Pozuelo Monfort on 20/04/2016 at 19:27..
Switch to dbgsym packages
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/226ffd3974de14cc2dd5b13caba48107ebb8c8de

Git commit b68680e20fdbb27eb42845e4abe71066daf396e8 by Emilio Pozuelo Monfort on 20/04/2016 at 19:39..
Release to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b68680e20fdbb27eb42845e4abe71066daf396e8

Git commit 70850643f37d1b74f47affd0174101bf1f7fd2a8 by Bryce Harrington (on behalf of Yong Bakos) on 21/04/2016 at 22:12..
protocol: Correct grammar and spelling

Fix grammar, spelling, tense, and other inconsistencies, based on
correctness, consistency, and precedence both here and influenced
by wayland-protocols.

- Standardize lower case for summary attribute values.
- Minor vertical whitespace removal consistency.
- Standarize references to coordinates, preferring 'surface local'
- Fix spelling, grammar, tense, and punctuation.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/70850643f37d1b74f47affd0174101bf1f7fd2a8

Git commit 85b80f5cf059e4e6dbcdea44679d14d5b91548cf by Jonas Ådahl (on behalf of Marek Chalupa) on 23/04/2016 at 03:38..
connection: remove redundant assignment

the code is something like:

  if (object == NULL && ...) {
      object = NULL;
      return;
  }

first, the object is already NULL, second, the assignment has no effect
since we return from the function right away

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/85b80f5cf059e4e6dbcdea44679d14d5b91548cf

Git commit 9a652c44f7fb9ce6894a41a87d8fe571ad59969d by Jonas Ådahl on 28/04/2016 at 07:01..
client: Make proxy_destroy a static function

proxy_destroy() is just the implementation of the atomic part of
wl_proxy_destroy(), so lets make it static.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9a652c44f7fb9ce6894a41a87d8fe571ad59969d

Git commit 6d29c0da3cd168e08187cd204d2314188479c0f1 by Pekka Paalanen (on behalf of Jonas Ådahl) on 29/04/2016 at 12:58..
client: Introduce proxy wrappers

Using the libwayland-client client API with multiple threads with
thread local queues are prone to race conditions.

The problem is that one thread can read and queue events after another
thread creates a proxy but before it sets the queue.

This may result in the event to the proxy being silently dropped, or
potentially dispatched on the wrong thread had the creating thread set
the implementation before setting the queue.

This patch introduces API to solve this case by introducing "proxy
wrappers". In short, a proxy wrapper is a wl_proxy struct that will
never itself proxy any events, but may be used by the client to set a
queue, and use it instead of the original proxy when sending requests
that creates new proxies. When sending requests, the wrapper will
work in the same way as the normal proxy object, but the proxy created
by sending a request (for example wl_display.sync) will inherit to the
same proxy queue as the wrapper.

https://bugs.freedesktop.org/show_bug.cgi?id=91273

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6d29c0da3cd168e08187cd204d2314188479c0f1

Git commit 69ec70fb0d3f75f4bcce449238d6297f6a986b5f by Pekka Paalanen (on behalf of Jonas Ådahl) on 29/04/2016 at 12:58..
tests/queue-test: Add tests for proxy wrappers

Test that doing wl_display.sync on a wrapped proxy with a special queue
works as expected.

Test that creating a wrapper on a destroyed but not freed proxy fails.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/69ec70fb0d3f75f4bcce449238d6297f6a986b5f

Git commit 6fe12f02e3b4879cd3d5faa08f023cc761d13be9 by Pekka Paalanen (on behalf of Jonas Ådahl) on 29/04/2016 at 13:03..
client: Fix wl_display_roundtrip_queue() race condition

Without this commit, wl_display_roundtrip_queue() is vulnerable to a
race condition, causing the callback to be dispatched on the wrong
queue.

The race condition happens if some non-main thread calls
wl_display_roundtrip_queue() with its thread local queue, and the main
thread reads and dispatches the callback event from the
wl_display_sync() call before the thread local queue is set.

The issue is fixed by using a proxy wrapper, making the initialization
of the callback proxy atomic, effectively making it no longer possible
for some other thread to dispatch the proxy before the correct thread
local queue is set.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
[Pekka: check display_wrapper]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6fe12f02e3b4879cd3d5faa08f023cc761d13be9

Git commit 3178200f0d0c6f4bfe9cd90dbc80608366861a4c by Bryce Harrington (on behalf of Yong Bakos) on 29/04/2016 at 23:38..
doc: Hyphenate compound adjectives window-local, surface-local

See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3178200f0d0c6f4bfe9cd90dbc80608366861a4c

Git commit 4db76023f8ab724a1bc3cb58f3f4e4d19aa70af2 by Bryce Harrington (on behalf of Yong Bakos) on 29/04/2016 at 23:38..
protocol: Hyphenate compound adjective surface-local

Remove superfluous 'local' from 'buffer local'.
In addition, simplify the phrasing of local x/y coordinates in parameter
summaries.

See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4db76023f8ab724a1bc3cb58f3f4e4d19aa70af2

Git commit 519177cff7921006c3413bfa480d54aa45f4ddc1 by Bryce Harrington (on behalf of Eric Engestrom) on 03/05/2016 at 00:46..
client: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/519177cff7921006c3413bfa480d54aa45f4ddc1

Git commit 8f4db349aaca8684774147cc4d5e2788633b5a0c by Bryce Harrington (on behalf of Eric Engestrom) on 03/05/2016 at 00:46..
server: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8f4db349aaca8684774147cc4d5e2788633b5a0c

Git commit 479945b4f1c34207ad785f844eca3e422af1c6dd by Bryce Harrington (on behalf of Eric Engestrom) on 03/05/2016 at 00:46..
util: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/479945b4f1c34207ad785f844eca3e422af1c6dd

Git commit 3c1aafd2a9157a884478bcd32263baad8d8b78fb by Bryce Harrington (on behalf of Eric Engestrom) on 03/05/2016 at 00:46..
doc: fix typos

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3c1aafd2a9157a884478bcd32263baad8d8b78fb

Git commit ee4e21c8a3c5a1b1b18cd1145364ddeec263965f by Bryce Harrington (on behalf of Eric Engestrom) on 03/05/2016 at 00:46..
tests: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ee4e21c8a3c5a1b1b18cd1145364ddeec263965f

Git commit e21aeb5d1290de0ab67995bbd6341ef399a1f399 by Bryce Harrington (on behalf of Yong Bakos) on 03/05/2016 at 01:14..
protocol: Add summaries to event parameters

All event arg elements now have an appropriate summary attribute.
This was conducted mostly in response to the undocumented parameter
warnings generated during 'make check'.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e21aeb5d1290de0ab67995bbd6341ef399a1f399

Git commit 7ccf35d43209ca4c4283cd3a3746f8126d4c64c1 by Pekka Paalanen (on behalf of Auke Booij) on 03/05/2016 at 11:54..
protocol: add support for cross-interface enum attributes

The enum attribute, for which scanner support was introduced in
1771299, can be used to link message arguments to <enum>s. However,
some arguments refer to <enum>s in a different <interface>.

This adds scanner support for referring to an <enum> in a different
<interface> using dot notation. It also sets the attributes in this
style in the wayland XML protocol (wl_shm_pool::create_buffer::format
to wl_shm::format, and wl_surface::set_buffer_transform::transform to
wl_output::transform), and updates the documentation XSL so that this
new style is supported.

Changes since v2:
 - add object:: prefix for all enumerations in the documentation
 - fix whitespace in scanner.c
 - minor code fixup to return early and avoid casts in scanner.c

Changes since v1:
 - several implementation bugs fixed

Signed-off-by: Auke Booij <auke at tulcod.com>
Reviewed-by: Nils Christopher Brause <nilschrbrause at googlemail.com>
Reviewed-by: Bill Spitzak <spitzak at gmail.com>
[Pekka: rebased across cde251a124d41977b447098cc530fcad2834a45f]
[Pekka: wrap lines and space fixes in scanner.c]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7ccf35d43209ca4c4283cd3a3746f8126d4c64c1

Git commit 08bda63ac4aa483c046fcbf8dd62a1103ffe9683 by Bryce Harrington on 04/05/2016 at 00:56..
configure.ac: bump to version 1.10.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/08bda63ac4aa483c046fcbf8dd62a1103ffe9683

Git commit 721c91c54a705fc3e971e94d8afe46993af953f8 by Pekka Paalanen (on behalf of Armin Krezović) on 06/05/2016 at 12:37..
scanner: Add version argument to wayland-scanner

This adds a command line argument to print wayland-scanner version.

It also makes wayland-scanner emit a comment with wayland library
version to every file it generates.

v2: separate variable definitions into their own lines and remove
    old style "version" argument

Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Tested-by: Yong Bakos <ybakos at humanoriented.com>
Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/721c91c54a705fc3e971e94d8afe46993af953f8

Git commit c6d204fdbcffec742416d3971ef1efd3b6eb575a by Jonas Ådahl (on behalf of Yong Bakos) on 10/05/2016 at 04:06..
protocol: Remove double line break

All vertical whitespace should manifest as a single blank line, never two.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c6d204fdbcffec742416d3971ef1efd3b6eb575a

Git commit e5b12aa827a777dc6455b9a87909a222157c256f by Bryce Harrington (on behalf of Yong Bakos) on 11/05/2016 at 18:03..
doc: Formalize file comment in wayland-client.h, wayland-server.h

Publican was generating a subtle error during a build:
Error: no ID for constraint linkend: Server-wayland-server-core_8h.

This was caused by doxygen applying the doc comment at the top of
wayland-server.h as the documentation for struct wl_object. As such, the
generated documentation for wl_object was also very incorrect.

Make the file doc comments in wayland-client.h and wayland-server.h real
doxygen file doc comments with the \file command, add a \brief, make the
inclusion warning a \warning, correct the language of the comment in
wayland-server.h, and remove one unnecessary line break.

This squelches the publican error, removes the bad wl_object documentation,
and makes the comment appear in the generated html documentation.

References: d74a9c079b1aeb44f69b4132dc2c38362e21f281

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e5b12aa827a777dc6455b9a87909a222157c256f

Git commit 385906beae3a7605629fd3a582f1be9254d7345b by Bryce Harrington (on behalf of Yong Bakos) on 11/05/2016 at 18:05..
connection: Move wl_interface_equal to util

Move the wl_interface_equal prototype to the top of wayland-private, where
it is not buried in the middle of map, connection and closure functions.

Move the implementation out of connection and into util. This is a utility
function, not specific to connections, and has call sites within connection,
wayland-client and wayland-server.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/385906beae3a7605629fd3a582f1be9254d7345b

Git commit f86fbe1a115fe2bf0da066e66ed73349cc2c378c by Bryce Harrington (on behalf of Yong Bakos) on 11/05/2016 at 18:09..
private: Remove unnecessary forward declarations

Declarations for wl_connection and wl_closure are not needed here.
wl_closure already has a complete definition.
Removing these forward declarations results in a clean, warning-free compile.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
[Updated to apply to trunk]
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f86fbe1a115fe2bf0da066e66ed73349cc2c378c

Git commit f19b569ec2cf2f8dbaf00d62e2f6b131f29aeec4 by Bryce Harrington on 18/05/2016 at 05:07..
configure.ac: bump to version 1.10.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f19b569ec2cf2f8dbaf00d62e2f6b131f29aeec4

Git commit 9ca9f8e4b27f51a4d8b1b0823a93f15cf76540aa by Bryce Harrington (on behalf of Yong Bakos) on 19/05/2016 at 21:31..
tests: Check for client/server-core.h inclusion

The purpose of wayland-*-protocol-core.h is to mimc the
wayland-*-protocol.h generated by scanner --include-core-only.
The only difference being what wayland-*-protocol.h should include.

Add an include check in the headers-protocol-core-test, to be sure that
a wayland-*-protocol.h generated with the --include-core-only option
properly includes wayland-*-core.h.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9ca9f8e4b27f51a4d8b1b0823a93f15cf76540aa

Git commit cc11b493426c46e86aee0bcd7c92ca9e9e23030d by Bryce Harrington (on behalf of Marek Chalupa) on 20/05/2016 at 00:57..
display-test: move a misplaced comment

we split a function while refactoring in c643781 and now
the comment makes no sense

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cc11b493426c46e86aee0bcd7c92ca9e9e23030d

Git commit 97fef4821327b5daecbee9c6cb0fc1de93181cff by Bryce Harrington (on behalf of Yong Bakos) on 20/05/2016 at 21:58..
scanner: Remove unused forward decs from client protocol

wayland-client-protocol.h had forward declarations for wl_client and
wl_resource, yet nothing on the client side references these types.

Add a 'side' condition to only generate these forward declarations in the
server protocol header.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: <pekka.paalanen at collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/97fef4821327b5daecbee9c6cb0fc1de93181cff

Git commit 62d67fe8fa217994f1d82dcb3203bb651e1c011f by Bryce Harrington on 24/05/2016 at 19:29..
configure.ac: bump to version 1.10.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/62d67fe8fa217994f1d82dcb3203bb651e1c011f

Git commit 47163797f810373c81b6e13b7a8a245eb9877785 by Bryce Harrington on 01/06/2016 at 00:11..
configure.ac: bump to version 1.11.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/47163797f810373c81b6e13b7a8a245eb9877785

Git commit 98d94b5c1d1cc21f5c963cdebc1cd535c6ae5b4f by Pekka Paalanen on 01/06/2016 at 08:08..
configure.ac: bump version to 1.11.90 for open development

As announced in 1.11.0 release notes, master is open again.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/98d94b5c1d1cc21f5c963cdebc1cd535c6ae5b4f

Git commit 3e58aa1e0621f9183188bc79c51e0a3eca932465 by Bryce Harrington (on behalf of Yong Bakos) on 02/06/2016 at 00:34..
doc: Unpublish wl_display_get_additional_shm_formats

The Wayland docbook and the doxygen html docs had been presenting
wl_display_get_additional_shm_formats as part of the public API, but the
prototype for this function is in wayland-private.h.

Add a \private annotation to the doc comment, preventing doxygen from
publishing this function as public.
Add logic to the publican xsl to only transform elements with a "prot"
attribute value of "public".

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3e58aa1e0621f9183188bc79c51e0a3eca932465

Git commit d29b9233058004eef321f847a588b94eb86c1d36 by Bryce Harrington (on behalf of Yong Bakos) on 02/06/2016 at 00:34..
doc: Unpublish wl_log* and wl_abort

The public documentation included descriptions of wl_log_stderr_handler,
wl_log_func_t wl_log_handler, wl_log and wl_abort. These are not accessible
via the public API.

Move the doxygen \endcond command to wrap these definitions, removing them
from publication.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d29b9233058004eef321f847a588b94eb86c1d36

Git commit a1bce0ead5a7d46f719e1f890fd7e4d0fa5d7d55 by Bryce Harrington (on behalf of Yong Bakos) on 02/06/2016 at 00:34..
doc: Unpublish global_zombie_object and wl_interface_equal

Both global_zombie_object and wl_interface_equal are private, yet were
part of public documentation despite not being part of the public API.

Move these two definitions to the top of an existing doxygen \cond block,
which removes them from the public documentation.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a1bce0ead5a7d46f719e1f890fd7e4d0fa5d7d55

Git commit 972f1a2cf78a257a50edae58826e43835155adeb by Bryce Harrington (on behalf of Yong Bakos) on 02/06/2016 at 01:42..
event-loop: Make transitive include explicit

The explicit inclusion of wayland-server.h hides the real dependency, which
is wayland-server-core.h.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/972f1a2cf78a257a50edae58826e43835155adeb

Git commit d588efcbc8153c01b61c7056a0171ac5cddd5103 by Bryce Harrington (on behalf of Yong Bakos) on 02/06/2016 at 02:22..
wayland-server: Clarify included header dependencies

wayland-server.c directly depends on wayland-util.h, and will include
wayland-server-protocol.h via wayland-server.h.

Explicitly include wayland-util.h, making this dependency clear.
Remove the redundant inclusion of wayland-server-protocol.h.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d588efcbc8153c01b61c7056a0171ac5cddd5103

Git commit 075d56af589678e4fb288fa18b35453183b7c20a by Héctor Orón Martínez (on behalf of Bryce Harrington) on 02/06/2016 at 09:24..
configure.ac: bump to version 1.10.90 for open development

Master is open for new feature development again.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/075d56af589678e4fb288fa18b35453183b7c20a

Git commit 2cd32665ef98ba6d2fb48b2734baaa51b68615fc by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
resource-test: Use wl_seat instead of wl_display for testing

We're creating resources with versions up to 4.  wl_display isn't version 4,
so this is technically verifying that we can do something we shouldn't.

wl_seat already has versions this high, so switch to that.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2cd32665ef98ba6d2fb48b2734baaa51b68615fc

Git commit 6a2f7215400fca61c4ef8d2beded6a7e4ee35008 by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
server: validate resource versions at creation time

We shouldn't ever create a resource with version less than 1 or
greater than the interface version.

Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6a2f7215400fca61c4ef8d2beded6a7e4ee35008

Git commit 214ea7597eacff973eb169aeae411f205ec1246c by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
build: Add an --enable-fatal-warnings configure option

New --enable-fatal-warnings ./configure option that just adds -Werror
to GCC_CFLAGS

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/214ea7597eacff973eb169aeae411f205ec1246c

Git commit b06cf13f8c2fc5f44798883cce56d524fde8321e by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
build: build distcheck with --enable-fatal-warnings

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b06cf13f8c2fc5f44798883cce56d524fde8321e

Git commit 93d61fbd4b705396a44087b13046725b59a39bd4 by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
Revert "build: build distcheck with --enable-fatal-warnings"

This reverts commit 8125919b0d8e7c776652e4f1d829b9edfa6c4a68.

This makes things far more annoying than intended, especially since
the list of default warnings isn't consistent from distro to distro.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/93d61fbd4b705396a44087b13046725b59a39bd4

Git commit 5a9ce4e235cd33231bcf3726a3804e7cf7c8f21c by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
Revert "server: validate resource versions at creation time"

This reverts commit 88ff135ad46b556b6fdeb1244ffd019a262967bc.

The parent interface version may be higher than this interface version,
and the child object should inherit that version.

This check is wrong.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5a9ce4e235cd33231bcf3726a3804e7cf7c8f21c

Git commit 9a64a8d4b3fde48b528761194f5471149d2307a4 by Héctor Orón Martínez (on behalf of Bill Spitzak) on 02/06/2016 at 09:24..
doc: Use enum argument type to make links in protocol documentation

Reviewed-by: Auke Booij <auke at tulcod.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9a64a8d4b3fde48b528761194f5471149d2307a4

Git commit a57eff9d5c358312ff15e5e317bba6f7dc04940c by Héctor Orón Martínez (on behalf of Jonas Ådahl) on 02/06/2016 at 09:24..
client: Don't segfault when receiving error on destroyed object

If an error is received on a destroyed object, we'd get NULL passed
to display_handle_error() instead of a pointer to a valid wl_proxy.

The logging is changed to report [unknown interface] and [unknown id]
instead of the actual interface name and id.

The wl_display_get_protocol_error() documentation is updated to handle
the situation. For when the proxy was NULL, the object id 0 and
interface NULL is written.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
[Pekka: changed the error message wording]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a57eff9d5c358312ff15e5e317bba6f7dc04940c

Git commit ad46bef1a9a5b6b74e968d3b28412e88bc17e54e by Héctor Orón Martínez (on behalf of Marek Chalupa) on 02/06/2016 at 09:24..
tests: add test for receiving an error on destroyed object

test if receiving an error on already destroyed object won't
do any harm

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Tested-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ad46bef1a9a5b6b74e968d3b28412e88bc17e54e

Git commit 3b6ee621ef6c62453444d36de2c0b3de156e890a by Héctor Orón Martínez (on behalf of Pekka Paalanen) on 02/06/2016 at 09:24..
build: fix ./configure --disable-dtd-validation

When configured with --disable-dtd-validation:

  CPPAS    src/dtddata.o
src/dtddata.S: Assembler messages:
src/dtddata.S:39: Error: file not found: src/wayland.dtd.embed
Makefile:1520: recipe for target 'src/dtddata.o' failed

This is because the variable name used does not match the implicit
variable name in autoconf.

Fix the variable name, making both --disable-dtd-validation and
--enable-dtd-validation to what they should.

Do not try to build dtddata.S if dtd-validation is disabled. It depends
on wayland.dtd.embed which is created by configure only if
dtd-validation is enabled.

If not building dtddata.S, also make sure the extern definitions in
scanner.c are compiled out.

Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=575212
Reported-by: leio at gentoo.org
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
Tested-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3b6ee621ef6c62453444d36de2c0b3de156e890a

Git commit f8373ecc80bca47d5984d23241605f18cb91df01 by Héctor Orón Martínez (on behalf of Pekka Paalanen) on 02/06/2016 at 09:24..
scanner: avoid executable stack

Before this patch:
$ scanelf -lpqe ./wayland-scanner
RWX --- ---  ./wayland-scanner

That indicates the stack is executable, which is a bad thing for
security. Wayland-scanner does not actually need an executable stack, it
is just an oversight from using an .S file in the sources.

Add a special incantation in dtddata.S to make it not cause the stack to
become executable.

Reported-by: Mart Raudsepp <leio at gentoo.org>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Mart Raudsepp <leio at gentoo.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8373ecc80bca47d5984d23241605f18cb91df01

Git commit 1e04cb818c4a571b1b54293d8b21e4a2ec6fc2d9 by Héctor Orón Martínez (on behalf of Peter Hutterer) on 02/06/2016 at 09:24..
doc: generate doxygen html output from the scanner

This switches the scanner to generate doxygen-compatible tags for the
generated protocol headers, and hooks up the doxygen build to generate server
and client-side API documentation. That documentation is now in
Client/ and Server/, respectively.

GENERATE_HTML is on by default and must be disabled for the xml/man targets to
avoid messing up the new documentation. We disable all three three targets in
the doxyfile (xml and man default to NO anyway) to make it obvious that they
need to be set in the per-target instructions.

Each protocol is a separate doxygen @page, with each interface a @subpage.
Wayland only has one protocol, wayland-protocols will have these nested.
Each protocol page has a list of interfaces and the copyright and description
where available.
All interfaces are grouped by doxygen @defgroup and @ingroups and appear in
"Modules" in the generated output. Each interface subpage has the description
and a link to the actual API doc.
Function, struct and #defines are documented in doxygen style and associated
with the matching interface.

Note that pages and groups have fixed HTML file names and are directly
linkable/bookmark-able.

The @mainpage is a separate file that's included at build time. It doesn't
contain much other than links to where the interesting bits are. It's a static
file though that supports markdown, so we can extend it easily in the future.

For doxygen we need the new options EXTRACT_ALL and OPTIMIZE_OUTPUT_FOR_C so
it scans C code properly. EXTRACT_STATIC is needed since most of the protocol
hooks are static.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1e04cb818c4a571b1b54293d8b21e4a2ec6fc2d9

Git commit f215f6900d8f2f3059f5e8ed06ab923e611dc572 by Héctor Orón Martínez (on behalf of Peter Hutterer) on 02/06/2016 at 09:24..
doc: link between client and server doc and to the wayland book

And insert "client" or "server" into the PROJECT_NAME to know which one we
have.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f215f6900d8f2f3059f5e8ed06ab923e611dc572

Git commit 0fd1d871a7599ca095c38ed12983437983b92482 by Héctor Orón Martínez (on behalf of Bryce Harrington) on 02/06/2016 at 09:24..
doc: Note strong recommendation to use S-o-b in contributions

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0fd1d871a7599ca095c38ed12983437983b92482

Git commit 9519cbb318519599a3712a2856456a04ff1678c1 by Héctor Orón Martínez (on behalf of Sergi Granell) on 02/06/2016 at 09:24..
server: Fix shm_create_pool size fail path fd leak

If the client passed a size <= 0 to shm_create_pool, it would
go to err_free, which wouldn't close the fd, and thus leave it opened.

We can also move the size check before the struct wl_shm_pool
malloc, so in case the client passes a wrong size, it won't
do an unnecessary malloc and then free.
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9519cbb318519599a3712a2856456a04ff1678c1

Git commit fe04b7ccf969856089f28d0c585120e6145cff79 by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
shm: Split pool reference counting into external and internal references

This is a preliminary step towards deferring shm resize operations until
after the compositor has released all external references on a pool.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fe04b7ccf969856089f28d0c585120e6145cff79

Git commit 5751b274cf95dc638fe992dbbce6d72cb734ef45 by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
shm: Defer wl_shm_pool_resize if a pool has external references

If a compositor is rendering in one thread while dispatching wayland
events in another, a wl_shm_pool_resize() could change the memory
mappings it's rendering from and cause a crash.

Now we defer wl_shm_pool_resize() if the compositor has references on a
pool, and perform the actual resize when it drops those references.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5751b274cf95dc638fe992dbbce6d72cb734ef45

Git commit eae0fc8dca19430e2baa5044230aa9e65bcfc991 by Héctor Orón Martínez (on behalf of Derek Foreman) on 02/06/2016 at 09:24..
shm: Log a warning if a shm buffer address is requested when it may be invalid

If wl_shm_buffer_get_data() is called on a shm pool that has an external
reference and a pending resize, then the buffer may be outside the pool's
current mapping.

Log a warning if this happens.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eae0fc8dca19430e2baa5044230aa9e65bcfc991

Git commit e8359cbf5862e714285f6c5e1138e16556ececdc by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
doc: Ignore html subdirectory.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e8359cbf5862e714285f6c5e1138e16556ececdc

Git commit bb93fa4d5688743d99991b81b104021d3bbf3859 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
ignore: Add *.dtd.embed

Although autogen.sh has a --disable-dtd-validation option, it is
on by default, so it seems convenient to add the generated symlink
to .gitignore.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bb93fa4d5688743d99991b81b104021d3bbf3859

Git commit 2776b59bbbc883b7cc1046ec6a373e034ba4ee4b by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
scanner: Fix spacing of @param

Adds one space to the @param lines in generated .h files,
aligning the indentation with the rest of the comment block.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2776b59bbbc883b7cc1046ec6a373e034ba4ee4b

Git commit a321fa117d24773f4ebcc269968eba905d6af40b by Héctor Orón Martínez (on behalf of Eric Engestrom) on 02/06/2016 at 09:24..
protocol: fix spelling mistake

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a321fa117d24773f4ebcc269968eba905d6af40b

Git commit 77b051874eb49838c68ac55e1c10c320b8e5b1f7 by Héctor Orón Martínez (on behalf of Eric Engestrom) on 02/06/2016 at 09:24..
wayland-client: fix spelling mistake

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/77b051874eb49838c68ac55e1c10c320b8e5b1f7

Git commit e7c4096581418ed957454d65074fd79043402115 by Héctor Orón Martínez (on behalf of Emil Velikov) on 02/06/2016 at 09:24..
scanner: move include directives before extern "C" wrapper

Adding extern "C" wrapper before includes (especially system ones) is
illadvised as the headers themselves can behave diffently in that case.

See the section "Including C Headers in C++ Code" in the following
http://www.oracle.com/technetwork/articles/servers-storage-dev/mixingcandcpluspluscode-305840.html

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e7c4096581418ed957454d65074fd79043402115

Git commit f5c6f702538e0af8fb73981bd894cc82caa1f2f1 by Héctor Orón Martínez (on behalf of Emil Velikov) on 02/06/2016 at 09:24..
server: move include directives before extern "C" wrapper

Analogous to previous commit but for the server(-core) header.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f5c6f702538e0af8fb73981bd894cc82caa1f2f1

Git commit 8bb52c01a865edd91fb40548e3d8c69aa003891b by Héctor Orón Martínez (on behalf of Emil Velikov) on 02/06/2016 at 09:24..
utils: move include directives before extern "C" wrapper

Analogous to last two commits.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8bb52c01a865edd91fb40548e3d8c69aa003891b

Git commit 6cbd1f9b6ca1d77d55d68f62536279bd55c7b445 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
protocol: Correct grammar and spelling

Fix grammar, spelling, tense, and other inconsistencies, based on
correctness, consistency, and precedence both here and influenced
by wayland-protocols.

- Standardize lower case for summary attribute values.
- Minor vertical whitespace removal consistency.
- Standarize references to coordinates, preferring 'surface local'
- Fix spelling, grammar, tense, and punctuation.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6cbd1f9b6ca1d77d55d68f62536279bd55c7b445

Git commit 05035424485bd4651629f198f8ea82e621b29dbb by Héctor Orón Martínez (on behalf of Marek Chalupa) on 02/06/2016 at 09:24..
connection: remove redundant assignment

the code is something like:

  if (object == NULL && ...) {
      object = NULL;
      return;
  }

first, the object is already NULL, second, the assignment has no effect
since we return from the function right away

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/05035424485bd4651629f198f8ea82e621b29dbb

Git commit f894384796d45f2252035c3fd9ed1270a1cdaecb by Héctor Orón Martínez (on behalf of Jonas Ådahl) on 02/06/2016 at 09:24..
client: Make proxy_destroy a static function

proxy_destroy() is just the implementation of the atomic part of
wl_proxy_destroy(), so lets make it static.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f894384796d45f2252035c3fd9ed1270a1cdaecb

Git commit ae5e334be42785e73922ee1e5e092f48f201fc24 by Héctor Orón Martínez (on behalf of Jonas Ådahl) on 02/06/2016 at 09:24..
client: Introduce proxy wrappers

Using the libwayland-client client API with multiple threads with
thread local queues are prone to race conditions.

The problem is that one thread can read and queue events after another
thread creates a proxy but before it sets the queue.

This may result in the event to the proxy being silently dropped, or
potentially dispatched on the wrong thread had the creating thread set
the implementation before setting the queue.

This patch introduces API to solve this case by introducing "proxy
wrappers". In short, a proxy wrapper is a wl_proxy struct that will
never itself proxy any events, but may be used by the client to set a
queue, and use it instead of the original proxy when sending requests
that creates new proxies. When sending requests, the wrapper will
work in the same way as the normal proxy object, but the proxy created
by sending a request (for example wl_display.sync) will inherit to the
same proxy queue as the wrapper.

https://bugs.freedesktop.org/show_bug.cgi?id=91273

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ae5e334be42785e73922ee1e5e092f48f201fc24

Git commit 904f050a4e0ea82ae304460656319d9987bf160c by Héctor Orón Martínez (on behalf of Jonas Ådahl) on 02/06/2016 at 09:24..
tests/queue-test: Add tests for proxy wrappers

Test that doing wl_display.sync on a wrapped proxy with a special queue
works as expected.

Test that creating a wrapper on a destroyed but not freed proxy fails.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/904f050a4e0ea82ae304460656319d9987bf160c

Git commit f5fe33857104729046dadd64ef38258d2bb57b79 by Héctor Orón Martínez (on behalf of Jonas Ådahl) on 02/06/2016 at 09:24..
client: Fix wl_display_roundtrip_queue() race condition

Without this commit, wl_display_roundtrip_queue() is vulnerable to a
race condition, causing the callback to be dispatched on the wrong
queue.

The race condition happens if some non-main thread calls
wl_display_roundtrip_queue() with its thread local queue, and the main
thread reads and dispatches the callback event from the
wl_display_sync() call before the thread local queue is set.

The issue is fixed by using a proxy wrapper, making the initialization
of the callback proxy atomic, effectively making it no longer possible
for some other thread to dispatch the proxy before the correct thread
local queue is set.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
[Pekka: check display_wrapper]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f5fe33857104729046dadd64ef38258d2bb57b79

Git commit 23817821376c6de45aef059c1ab65fbf66776b53 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
doc: Hyphenate compound adjectives window-local, surface-local

See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/23817821376c6de45aef059c1ab65fbf66776b53

Git commit cc32ae39664cbae9a18657765f428179fcd6ec6f by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
protocol: Hyphenate compound adjective surface-local

Remove superfluous 'local' from 'buffer local'.
In addition, simplify the phrasing of local x/y coordinates in parameter
summaries.

See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cc32ae39664cbae9a18657765f428179fcd6ec6f

Git commit 83ca694dc890dcc345cc56b4aa0a660b398e9c9a by Héctor Orón Martínez (on behalf of Eric Engestrom) on 02/06/2016 at 09:24..
client: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/83ca694dc890dcc345cc56b4aa0a660b398e9c9a

Git commit aacceea5a118b097a9295f765ac84d917929acc1 by Héctor Orón Martínez (on behalf of Eric Engestrom) on 02/06/2016 at 09:24..
server: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aacceea5a118b097a9295f765ac84d917929acc1

Git commit 0bab1218aef921404c31fa1fde36faac89a2f143 by Héctor Orón Martínez (on behalf of Eric Engestrom) on 02/06/2016 at 09:24..
util: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0bab1218aef921404c31fa1fde36faac89a2f143

Git commit 322028f301c4b0ab3bf58c5a4efab55914de52fd by Héctor Orón Martínez (on behalf of Eric Engestrom) on 02/06/2016 at 09:24..
doc: fix typos

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/322028f301c4b0ab3bf58c5a4efab55914de52fd

Git commit 61dd06f35bd0fc4803fdf1ed3b6076e1eed229dc by Héctor Orón Martínez (on behalf of Eric Engestrom) on 02/06/2016 at 09:24..
tests: fix typo

Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/61dd06f35bd0fc4803fdf1ed3b6076e1eed229dc

Git commit fdfd5dc94363a7c35c687d29f02eee79dcc2cadf by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
protocol: Add summaries to event parameters

All event arg elements now have an appropriate summary attribute.
This was conducted mostly in response to the undocumented parameter
warnings generated during 'make check'.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fdfd5dc94363a7c35c687d29f02eee79dcc2cadf

Git commit 2b9c17608f2d45dc41bfe46982eadc18cc3755f9 by Héctor Orón Martínez (on behalf of Auke Booij) on 02/06/2016 at 09:24..
protocol: add support for cross-interface enum attributes

The enum attribute, for which scanner support was introduced in
1771299, can be used to link message arguments to <enum>s. However,
some arguments refer to <enum>s in a different <interface>.

This adds scanner support for referring to an <enum> in a different
<interface> using dot notation. It also sets the attributes in this
style in the wayland XML protocol (wl_shm_pool::create_buffer::format
to wl_shm::format, and wl_surface::set_buffer_transform::transform to
wl_output::transform), and updates the documentation XSL so that this
new style is supported.

Changes since v2:
 - add object:: prefix for all enumerations in the documentation
 - fix whitespace in scanner.c
 - minor code fixup to return early and avoid casts in scanner.c

Changes since v1:
 - several implementation bugs fixed

Signed-off-by: Auke Booij <auke at tulcod.com>
Reviewed-by: Nils Christopher Brause <nilschrbrause at googlemail.com>
Reviewed-by: Bill Spitzak <spitzak at gmail.com>
[Pekka: rebased across cde251a124d41977b447098cc530fcad2834a45f]
[Pekka: wrap lines and space fixes in scanner.c]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2b9c17608f2d45dc41bfe46982eadc18cc3755f9

Git commit b8ac6bb8c9d719b059c677c1ae3edb3ec1dc0016 by Héctor Orón Martínez (on behalf of Bryce Harrington) on 02/06/2016 at 09:24..
configure.ac: bump to version 1.10.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b8ac6bb8c9d719b059c677c1ae3edb3ec1dc0016

Git commit 14a01aaa97eaca3fde71f11b004ab4129c229b3a by Héctor Orón Martínez (on behalf of Armin Krezović) on 02/06/2016 at 09:24..
scanner: Add version argument to wayland-scanner

This adds a command line argument to print wayland-scanner version.

It also makes wayland-scanner emit a comment with wayland library
version to every file it generates.

v2: separate variable definitions into their own lines and remove
    old style "version" argument

Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Tested-by: Yong Bakos <ybakos at humanoriented.com>
Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/14a01aaa97eaca3fde71f11b004ab4129c229b3a

Git commit cfde76de1d804f0a533d9b356dfe6a234c7fc750 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
protocol: Remove double line break

All vertical whitespace should manifest as a single blank line, never two.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cfde76de1d804f0a533d9b356dfe6a234c7fc750

Git commit 1faebf6bcc60d2a59cc05a163d21211b707e1b7b by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
doc: Formalize file comment in wayland-client.h, wayland-server.h

Publican was generating a subtle error during a build:
Error: no ID for constraint linkend: Server-wayland-server-core_8h.

This was caused by doxygen applying the doc comment at the top of
wayland-server.h as the documentation for struct wl_object. As such, the
generated documentation for wl_object was also very incorrect.

Make the file doc comments in wayland-client.h and wayland-server.h real
doxygen file doc comments with the \file command, add a \brief, make the
inclusion warning a \warning, correct the language of the comment in
wayland-server.h, and remove one unnecessary line break.

This squelches the publican error, removes the bad wl_object documentation,
and makes the comment appear in the generated html documentation.

References: d74a9c079b1aeb44f69b4132dc2c38362e21f281

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1faebf6bcc60d2a59cc05a163d21211b707e1b7b

Git commit 5e175a989cc8ef37407d289aad1faeb372463042 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
connection: Move wl_interface_equal to util

Move the wl_interface_equal prototype to the top of wayland-private, where
it is not buried in the middle of map, connection and closure functions.

Move the implementation out of connection and into util. This is a utility
function, not specific to connections, and has call sites within connection,
wayland-client and wayland-server.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e175a989cc8ef37407d289aad1faeb372463042

Git commit d2b75dd9730bf8d83c94858014b53265fc1dc681 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
private: Remove unnecessary forward declarations

Declarations for wl_connection and wl_closure are not needed here.
wl_closure already has a complete definition.
Removing these forward declarations results in a clean, warning-free compile.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
[Updated to apply to trunk]
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d2b75dd9730bf8d83c94858014b53265fc1dc681

Git commit 8fb18a360ecccfb832b76a0c16e7843e64454395 by Héctor Orón Martínez (on behalf of Bryce Harrington) on 02/06/2016 at 09:24..
configure.ac: bump to version 1.10.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8fb18a360ecccfb832b76a0c16e7843e64454395

Git commit 19a25d5e19e44cd19910a3a0b2b1dbcb1379bef0 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
tests: Check for client/server-core.h inclusion

The purpose of wayland-*-protocol-core.h is to mimc the
wayland-*-protocol.h generated by scanner --include-core-only.
The only difference being what wayland-*-protocol.h should include.

Add an include check in the headers-protocol-core-test, to be sure that
a wayland-*-protocol.h generated with the --include-core-only option
properly includes wayland-*-core.h.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/19a25d5e19e44cd19910a3a0b2b1dbcb1379bef0

Git commit 5cb57d72685bea127e22f4305ec55fdc7ce2291f by Héctor Orón Martínez (on behalf of Marek Chalupa) on 02/06/2016 at 09:24..
display-test: move a misplaced comment

we split a function while refactoring in c643781 and now
the comment makes no sense

Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5cb57d72685bea127e22f4305ec55fdc7ce2291f

Git commit b8f3c199e3048cd4b0386d121e2f672ca31c9aa0 by Héctor Orón Martínez (on behalf of Yong Bakos) on 02/06/2016 at 09:24..
scanner: Remove unused forward decs from client protocol

wayland-client-protocol.h had forward declarations for wl_client and
wl_resource, yet nothing on the client side references these types.

Add a 'side' condition to only generate these forward declarations in the
server protocol header.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: <pekka.paalanen at collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b8f3c199e3048cd4b0386d121e2f672ca31c9aa0

Git commit 78c600e16c7d7cab288678fc6440196f16c1a09f by Héctor Orón Martínez (on behalf of Bryce Harrington) on 02/06/2016 at 09:24..
configure.ac: bump to version 1.10.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/78c600e16c7d7cab288678fc6440196f16c1a09f

Git commit e56baa4aaaf20e9a3107089b74465af473481ef9 by Héctor Orón Martínez (on behalf of Bryce Harrington) on 02/06/2016 at 09:24..
configure.ac: bump to version 1.11.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e56baa4aaaf20e9a3107089b74465af473481ef9

Git commit a9d490ccbacc8646d402326790e65439e580e0f2 by Héctor Orón Martínez on 02/06/2016 at 09:26..
make libwayland-dev multiarch aware

This patch that makes libwayland-dev Multi-Arch:same. This is done by
splitting that package into -dev and -bin. The -bin package contains
the wayland-scanner executable, and it is Multi-Arch:foreign.

Based on a patch from Dima Kogan

Closes: #739400

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a9d490ccbacc8646d402326790e65439e580e0f2

Git commit fd1e8d4f290147857df9827d6e246cf70588577c by Héctor Orón Martínez on 02/06/2016 at 09:33..
debian/changelog: update entries

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fd1e8d4f290147857df9827d6e246cf70588577c

Git commit 4f3c2d41ef00286402e8217b5385ad4342dc316c by Héctor Orón Martínez on 02/06/2016 at 09:36..
d/libwayland-client0.symbols: update with new symbols

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4f3c2d41ef00286402e8217b5385ad4342dc316c

Git commit 00f148e2f72cb85791bc9a984507b421f898d93c by Héctor Orón Martínez on 02/06/2016 at 09:43..
d/control: libwayland-bin conflict on the old libwaylan-dev

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/00f148e2f72cb85791bc9a984507b421f898d93c

Git commit be3d130669dbd55efb29db95a0a4e59d55fc3cb9 by Héctor Orón Martínez on 02/06/2016 at 09:48..
Release Debian version wayland-1.11.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be3d130669dbd55efb29db95a0a4e59d55fc3cb9

Git commit 6826e2a4697492ccf6bef6dba7c189f2d2000e03 by Héctor Orón Martínez on 06/06/2016 at 09:26..
d/control: libwayland-dev depends on libwayland-bin

libwayland-dev depends on libwayland-bin, no the other way around.

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6826e2a4697492ccf6bef6dba7c189f2d2000e03

Git commit d597d1e74ff08e13629971610a3d33c25d303e8e by Héctor Orón Martínez on 06/06/2016 at 09:28..
d/control: libwayland-bin replaces -dev

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d597d1e74ff08e13629971610a3d33c25d303e8e

Git commit 006774da53fa2cff7c35611119d095b08c365543 by Héctor Orón Martínez on 06/06/2016 at 09:33..
Release Debian version wayland-1.11.0-2

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/006774da53fa2cff7c35611119d095b08c365543

Git commit 36aeaf037b11a8c5cd421cd013cf634838f5653c by Pekka Paalanen (on behalf of Bryce Harrington) on 07/06/2016 at 13:02..
scanner: Fix reported executable name to 'wayland-scanner'

'wayland-scanner -v' (correctly) reports the program as named
"wayland-scanner", but 'wayland-scanner -h' was inconsistent, referring
to it as './scanner'.

Also refactor this and other references to the program name to use a
common #define, PROGRAM_NAME.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Tested-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/36aeaf037b11a8c5cd421cd013cf634838f5653c

Git commit 9000c0f20eb0e2b26b26cb85e27c9cd2ef0e312f by Pekka Paalanen (on behalf of Yong Bakos) on 07/06/2016 at 13:07..
wayland-shm: Include wayland-util.h

wayland-shm.c uses WL_EXPORT and wl_array, which are defined in
wayland-util.h.

Include wayland-util.h explicitly, rather than transitively through
wayland-server.h.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Sam Spilsbury <smspillaz at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9000c0f20eb0e2b26b26cb85e27c9cd2ef0e312f

Git commit fe31d2f9affae349728c6a328a9da77411160a49 by Pekka Paalanen (on behalf of Yong Bakos) on 07/06/2016 at 13:07..
event-loop: Include wayland-util.h

event-loop.c uses WL_EXPORT and wl_list, which are defined in
wayland-util.h.

Include wayland-util.h explicitly, rather than transitively through
wayland-server-core.h.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Sam Spilsbury <smspillaz at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fe31d2f9affae349728c6a328a9da77411160a49

Git commit e5bd4122e95e71e0b0535ae5381cdf2650b0e2a7 by Pekka Paalanen (on behalf of Yong Bakos) on 07/06/2016 at 13:10..
client-core: Add missing line breaks

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e5bd4122e95e71e0b0535ae5381cdf2650b0e2a7

Git commit 826b16641ade360ee3d68f96eac168e08b56daae by Pekka Paalanen (on behalf of Yong Bakos) on 07/06/2016 at 13:11..
server, server-core: Minimize fwd decs, use macro, and format

wayland-server.h: Adjust line breaks between prototypes.

wayland-server-core.h:
Adjust line breaks between prototypes.
Adjust space between splats and identifiers.
Remove unconventional linebreak before first parameter.
Add line breaks after return types.
Remove unnecessary forward declarations, and:
- move 'struct wl_client' declaration close to the dependent typedef
- tastefully move 'wl_shm_buffer_get' to leverage the return type
Replace explicit __attribute__ with WL_PRINTF macro.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/826b16641ade360ee3d68f96eac168e08b56daae

Git commit 0cc2eb9ef0e5a8c6fc21916421e6db81d6460b02 by Pekka Paalanen (on behalf of Yong Bakos) on 07/06/2016 at 13:30..
scanner: Replace #define tab with space

wayland-client-protocol.h and wayland-server-protocol.h use a tab
between the identifier and token of generated #defines for request/event
opcodes and versions. While this sometimes enables vertical alignment,
it more frequently doesn't, and leads to awkward spacing.

Replace the tab with a space, for consistency and readability.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
Tested-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0cc2eb9ef0e5a8c6fc21916421e6db81d6460b02

Git commit e1f2ba2b37e79220baec4c1c229228734a344595 by Pekka Paalanen (on behalf of Yong Bakos) on 07/06/2016 at 13:33..
server-core, event-loop: Fix parameter alignment.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e1f2ba2b37e79220baec4c1c229228734a344595

Git commit d6d7dab487a8acd02c1fae45eea78954411c51b8 by Derek Foreman (on behalf of Yong Bakos) on 07/06/2016 at 15:22..
scanner: Move PROGRAM_NAME define

PROGRAM_NAME was defined within the if block of HAVE_LIBXML, causing a
compilation failure when libxml is not present.

Move the define of PROGRAM_NAME out of the if block.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d6d7dab487a8acd02c1fae45eea78954411c51b8

Git commit 1cda73f3f85514ef18f180d350e1e390ff388f10 by Bryce Harrington on 11/07/2016 at 20:32..
tests: Require base 10 for the string specifying the number of open fd's

The third arg to strtol() specifies the base to assume for the number.
When 0 is passed, as is currently done in wayland-client.c, hexadecimal
and octal numbers are permitted and automatically detected and
converted.

exec-fd-leak-checker's single argument is the count of file descriptors
it should expect to be open.  We should expect this to be specified only
as a decimal number, there's no reason why one would want to use octal
or hexadecimal for that.

Suggested by Yong Bakos.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1cda73f3f85514ef18f180d350e1e390ff388f10

Git commit c88ec7e2914a5b85fd878e4ee96f31aa26be05c8 by Bryce Harrington on 11/07/2016 at 21:00..
scanner: Improve documentation for strtouint()

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c88ec7e2914a5b85fd878e4ee96f31aa26be05c8

Git commit 6750b47d9e0d3074d2e56aa36c476493f533d696 by Daniel Stone (on behalf of Khem Raj) on 18/07/2016 at 10:12..
scanner: Use uint32_t instead of uint

uint32_t is C99 defined stdint type

Signed-off-by: Khem Raj <raj.khem at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6750b47d9e0d3074d2e56aa36c476493f533d696

Git commit 2b1c1b2d66945c5cb237a7264759b6dbdf42b02a by Bryce Harrington (on behalf of Yong Bakos) on 26/07/2016 at 01:39..
(multiple): Include stdint.h

Some headers and source files have been using types such as uint32_t
without explicitly including stdint.h.

Explicitly include stdint.h where appropriate.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2b1c1b2d66945c5cb237a7264759b6dbdf42b02a

Git commit 993df5792820758427c79ab0c2ab6621f3d85ce6 by Bryce Harrington (on behalf of Yong Bakos) on 26/07/2016 at 01:41..
display-test: Remove redundant stdbool include

display-test.c includes stdbool.h twice. Remove the redundant include.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/993df5792820758427c79ab0c2ab6621f3d85ce6

Git commit bad9dc5186e46ab92e1680d1f0ea4a4d4f0f7211 by Pekka Paalanen (on behalf of Quentin Glidic) on 08/08/2016 at 13:22..
protocol: Add release (destructor) request to wl_output

Outputs come and go, and this is needed to clean up wl_resources on the
server side. All protocol objects need a way to be destroyed.

Cc: Neil Roberts <neil at linux.intel.com>
Cc: Jason Ekstrand <jason at jlekstrand.net>
Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
[Pekka: added commit message]
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bad9dc5186e46ab92e1680d1f0ea4a4d4f0f7211

Git commit 5636cb2f056d813b464c451754908e17de838e3a by Pekka Paalanen (on behalf of Quentin Glidic) on 11/08/2016 at 10:49..
scanner: Generate all SINCE_VERSION macros for everyone

Practical example: a client supporting version 2 of wl_output will wait
for the wl_output.done event before starting wl_output-related
operations. However, if the server only supports version 1, no event
will ever come, and it must fallback to use the wl_output.geometry event
alone.
Without this macro, it cannot check for that in a nice way.

This patch introduces the same #defines in both server and client
headers. We rely on both being generated from the same XML file and
https://gcc.gnu.org/onlinedocs/cpp/Undefining-and-Redefining-Macros.html
to not cause compiler errors or warning due to redefinitions. We also
assume that no-one uses the same name in the same interface for both a
request and an event.

If this patch does cause grief due to identical redefinitions, the
contingency plan is to change the generator to produce
 #ifndef/#define/#endif instead of just #define.

Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
[Pekka: add paragraphs to commit message.]
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5636cb2f056d813b464c451754908e17de838e3a

Git commit be48da6a42b399252959ef782132fdfdf62c6905 by Pekka Paalanen (on behalf of Sungjae Park) on 11/08/2016 at 11:35..
server: add listener API for new clients

Using display object, Emit a signal if a new client is created.

In the server-side, we can get the destroy event of a client,
But there is no way to get the created event of it.
Of course, we can get the client object from the global registry
binding callbacks.
But it can be called several times with same client object.
And even if A client creates display object,
(so there is a connection), The server could not know that.
There could be more use-cases not only for this.

Giulio: a test is added for the new functionality

Signed-off-by: Sung-jae Park <nicesj at nicesj.com>
Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be48da6a42b399252959ef782132fdfdf62c6905

Git commit 68abfa6732672ab3534102de55edaa10343f4d1b by Pekka Paalanen (on behalf of Giulio Camuffo) on 11/08/2016 at 12:52..
Add API to retrieve the interface name of a wl_resource

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68abfa6732672ab3534102de55edaa10343f4d1b

Git commit 596024f728b0a1292ee69a80dd72a85167870936 by Pekka Paalanen (on behalf of Giulio Camuffo) on 11/08/2016 at 12:52..
Add API to get the list of connected clients

This patch chooses the wl_list_for_each-style of iterating over
the clients, instead of using an iterator function, because i think
it is easier to use.

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/596024f728b0a1292ee69a80dd72a85167870936

Git commit c55c1d787cb542de5ffee702c7ca9bcd27b56bef by Pekka Paalanen (on behalf of Giulio Camuffo) on 12/08/2016 at 08:43..
Add a resource creation signal

This change allows to add a resource creation listener to a wl_client,
which will be notified when a new resource is created for that client.
The alternative would be to have a per wl_display listener, but i think
that resources are really client specific objects, so it makes sense
to use the wl_client as the context.

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
[Pekka: added wl_list_remove() in TEST(new_resource).]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c55c1d787cb542de5ffee702c7ca9bcd27b56bef

Git commit 2f617250d27ec3258071077997934c43948c384b by Pekka Paalanen (on behalf of Giulio Camuffo) on 12/08/2016 at 08:53..
Add API to retrieve and iterate over the resources list of a client

To complement on the new resource created signal, this allows to
iterate over the existing resources of a client.

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
[Pekka: added empty lines, init ret in for_each_helper()]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f617250d27ec3258071077997934c43948c384b

Git commit 450f06e21a3dc772b96de12d81ea27d665f8b33c by Pekka Paalanen (on behalf of Giulio Camuffo) on 12/08/2016 at 08:59..
Add API to install protocol loggers on the server wl_display

The new wl_display_add_protocol_logger allows to set a function as
a logger, which will get called when a new request is received or an
event is sent.
This is akin to setting WAYLAND_DEBUG=1, but more powerful because it
can be enabled at run time and allows to show the log e.g. in a UI view.
A test is added for the new functionality.

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/450f06e21a3dc772b96de12d81ea27d665f8b33c

Git commit 1c3213adf02ed27e37401929956d9bf79c23dce7 by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:43..
server: Add doxygen comment for wl_client_for_each

Commit 596024f728b0a1292ee69a80dd72a85167870936 includes a doc comment
with a link to the wl_client_for_each macro, causing an error when generating
documentation.

Add a doc comment to wl_client_for_each, enabling the hyperlink and removing
the error.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1c3213adf02ed27e37401929956d9bf79c23dce7

Git commit d7cb6c357023e2c224c169755cdb80a17c8c79aa by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:45..
protocol: Add summary attributes to request params and enum entries

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d7cb6c357023e2c224c169755cdb80a17c8c79aa

Git commit aaf2c91873d77df2bdc1aa32bd7bf6ced41ac53b by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:45..
protocol: Hyphenate subsurface

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aaf2c91873d77df2bdc1aa32bd7bf6ced41ac53b

Git commit 83ec381bf8e40273c02170028598212f738b9dfd by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:45..
protocol: Capitalize ID for consistency

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/83ec381bf8e40273c02170028598212f738b9dfd

Git commit 3f1104d64cd24b0580c0b8c86ca699bf03fe9d1f by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:45..
protocol: Add missing line break

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3f1104d64cd24b0580c0b8c86ca699bf03fe9d1f

Git commit 40feca914b94d1d3e2f1f6fc7a22a5ebee014137 by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:45..
protocol: Correct description indentation

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/40feca914b94d1d3e2f1f6fc7a22a5ebee014137

Git commit 7aa1f6cb2f506e49c483a2222a8f971fcf30882c by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:45..
protocol: Remove wl_ prefix from summary descriptions

Summary attributes sometime describe objects using their wl-prefixed type,
but more often don't.

Remove the wl_ prefix from summary descriptions, since they tend to describe
concepts.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7aa1f6cb2f506e49c483a2222a8f971fcf30882c

Git commit 8e7e52f3353be3d30dba0c1625c232e6d6e223a3 by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:45..
protocol: Describe serial as serial number

Change "serial" to "serial number" in arg summaries, for consistency
and clarity.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8e7e52f3353be3d30dba0c1625c232e6d6e223a3

Git commit a285fa939cb06842ff1e1d5071c9ead8141c1052 by Bryce Harrington (on behalf of Yong Bakos) on 12/08/2016 at 19:46..
protocol: Specify upper left corner of damage rectangle

Specify x and y args as the upper left corner of the surface / buffer
damage rectangle.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a285fa939cb06842ff1e1d5071c9ead8141c1052

Git commit 2a6b08896abeb8ce82f381b1abf5daeee53e7d79 by Bryce Harrington on 16/08/2016 at 18:25..
configure.ac: bump to version 1.11.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2a6b08896abeb8ce82f381b1abf5daeee53e7d79

Git commit 7f780a44ae4e67400b37082bbf0a1806d99de9f3 by Héctor Orón Martínez on 18/08/2016 at 15:07..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7f780a44ae4e67400b37082bbf0a1806d99de9f3

Git commit c515b34c273bec49b200610a5acb35721dfb25aa by Héctor Orón Martínez on 18/08/2016 at 15:24..
d/libwayland-server0.symbols: add new symbols

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c515b34c273bec49b200610a5acb35721dfb25aa

Git commit 177a4735b11e397bbdd4be93db7430ccc294613e by Héctor Orón Martínez on 18/08/2016 at 15:32..
Release experimental Debian version wayland-1.11.91-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/177a4735b11e397bbdd4be93db7430ccc294613e

Git commit 2d7b34e2ee7627e125496c8816f656f485fcfc81 by Bryce Harrington on 30/08/2016 at 18:40..
configure.ac: bump to version 1.11.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2d7b34e2ee7627e125496c8816f656f485fcfc81

Git commit d9ef882139e6178edf68c3fce147afdb3b57b894 by Pekka Paalanen (on behalf of Yong Bakos) on 05/09/2016 at 10:55..
doc: Correct docbook title

The docbook title was "The Wayland display server," which is inaccurate.

Change the title to "The Wayland Protocol".

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d9ef882139e6178edf68c3fce147afdb3b57b894

Git commit 2bdbb741e2ac0ec9ecc564463a59b3ef8f499f6a by Pekka Paalanen (on behalf of Yong Bakos) on 05/09/2016 at 12:10..
tests: Add test for wl_list_length

list-test.c did not cover wl_list_length, so add one test that specifically
tests this method.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2bdbb741e2ac0ec9ecc564463a59b3ef8f499f6a

Git commit da58173cfe047864d073ba078e0b8db982a31b12 by Bryce Harrington on 06/09/2016 at 21:22..
configure.ac: bump to version 1.11.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/da58173cfe047864d073ba078e0b8db982a31b12

Git commit 2c8fc3eae27c9c0b02694c60d46886ebf47cc83c by Pekka Paalanen (on behalf of Yong Bakos) on 13/09/2016 at 12:31..
protocol: Replace '#defines' with 'macros'

The use of # within a description causes the documentation generator
to mistake C syntax with a documentation link.

Remove the # from the documentation, suppressing the warning.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2c8fc3eae27c9c0b02694c60d46886ebf47cc83c

Git commit 9afa4bfb7b1e8abfb798e25fc28545e60673ed50 by Pekka Paalanen (on behalf of Yong Bakos) on 13/09/2016 at 12:34..
server: Document display parameter

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9afa4bfb7b1e8abfb798e25fc28545e60673ed50

Git commit a4aba37ba178f8400cfdc2b595005bb76d6af2c0 by Bryce Harrington on 13/09/2016 at 19:13..
configure.ac: bump to version 1.11.94 for the RC2 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a4aba37ba178f8400cfdc2b595005bb76d6af2c0

Git commit 543deb572bb1cb3212571254c0965c06d117505f by Emilio Pozuelo Monfort on 14/09/2016 at 10:01..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/543deb572bb1cb3212571254c0965c06d117505f

Git commit 0d0fde885f46c46d4aedaac50822aff28e82f6fb by Emilio Pozuelo Monfort on 14/09/2016 at 10:01..
New upstream release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0d0fde885f46c46d4aedaac50822aff28e82f6fb

Git commit 117e1ecf6ca95d269f3e4d4829a323923bff80c7 by Emilio Pozuelo Monfort on 14/09/2016 at 10:09..
Bump Standards-Version
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/117e1ecf6ca95d269f3e4d4829a323923bff80c7

Git commit 759927e9a0b81ffa7491bb91543e0762a4110760 by Emilio Pozuelo Monfort on 14/09/2016 at 10:10..
Release to experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/759927e9a0b81ffa7491bb91543e0762a4110760

Git commit a0d76ffda5c3483e5e67fed19b7d8afe8966782c by Bryce Harrington on 20/09/2016 at 17:45..
configure.ac: bump to version 1.12.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a0d76ffda5c3483e5e67fed19b7d8afe8966782c

Git commit 454df51dce609dcc805c888cb8611049bdf9ae08 by Bryce Harrington on 22/09/2016 at 17:31..
configure.ac: bump version to 1.12.90 for open development

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/454df51dce609dcc805c888cb8611049bdf9ae08

Git commit f7e1dcc20bc873cae0ea532f094cbe417626519f by Pekka Paalanen (on behalf of Yong Bakos) on 26/09/2016 at 12:42..
util: Document wl_list methods

Add doxygen comment blocks to all wl_list methods.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
[Pekka: removed "itself" as suggested by Bryce]
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f7e1dcc20bc873cae0ea532f094cbe417626519f

Git commit db61796026e0b1a2a649ad1369521ebfe2adc074 by Pekka Paalanen (on behalf of Yong Bakos) on 18/10/2016 at 09:24..
util: Document wl_array

Add doxygen comments for wl_array and its methods.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/db61796026e0b1a2a649ad1369521ebfe2adc074

Git commit e8ad23266f36521215dcd7cfcc524e0ef67d66dd by Pekka Paalanen (on behalf of Yong Bakos) on 18/10/2016 at 09:24..
wl_array: Set data to invalid address after free

Explicitly set the data member to an invalid memory address during
wl_array_release, such that re-using a freed wl_array without re-initializing
causes a crash. In addition, this pointer assignment makes wl_array_release
testable.

Define a constant for the invalid memory address, and add documentation about
this behavior, starting at libwayland version 1.13.

See https://lists.freedesktop.org/archives/wayland-devel/2016-September/031116.html

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
[Pekka: remove the doc about crashing]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e8ad23266f36521215dcd7cfcc524e0ef67d66dd

Git commit f04f2187810fc8dcda92305df76fb54a255c20f9 by Pekka Paalanen (on behalf of Yong Bakos) on 18/10/2016 at 09:24..
tests: Test wl_array_release

array-test.c did not cover wl_array_release, so add one test that specifically
tests this method.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
[Pekka: do not overwrite array.data]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f04f2187810fc8dcda92305df76fb54a255c20f9

Git commit a1ab2c03ae7471895f8d24f9186c5ac288545e7f by Pekka Paalanen (on behalf of Yong Bakos) on 18/10/2016 at 09:24..
array-test: Include wayland-util.h and simplify init test

Include wayland-util.h in addition to wayland-private.h, to be more explicit
about where wl_array is defined.

Remove the useless repeated testing of wl_array_init, because if it fails once
out of thousands of iterations we're all doomed anyway.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
[Pekka: add the memset]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a1ab2c03ae7471895f8d24f9186c5ac288545e7f

Git commit ae139d8b6bc36fdc657369ed25dc331df967e35e by Pekka Paalanen (on behalf of Yong Bakos) on 18/10/2016 at 09:58..
util: Document GCC attributes

Add doxygen comment blocks so these annotations are documented in the html
documentation.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ae139d8b6bc36fdc657369ed25dc331df967e35e

Git commit da58e07c3d30978470a4bb7332277c9e6fdf401f by Pekka Paalanen (on behalf of Yong Bakos) on 10/11/2016 at 11:03..
shm: Make shm_pool_interface static const

Add static const modifiers to the shm_pool_interface definition,
making it consistent with the other wl_*_interface definitions and
mundanely safer.

Note that this does not affect the ABI, according to abi-dumper and
abi-compliance-checker[1]; and weston and its shm-backed clients still
run as expected.

[1]: http://lvc.github.io/abi-compliance-checker/

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Tested-by: Yong Bakos <ybakos at humanoriented.com>
Acked-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/da58e07c3d30978470a4bb7332277c9e6fdf401f

Git commit 9e2e3bcaa74806ae6dd9fec7f9505b1605e5965b by Pekka Paalanen (on behalf of Yong Bakos) on 10/11/2016 at 11:10..
protocol: Describe wl_registry as singleton

Other singleton objects in the protocol are described as such.

Add a singleton adjective to the wl_registry description, making it
similar to other descriptions.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9e2e3bcaa74806ae6dd9fec7f9505b1605e5965b

Git commit b802108f6e8dc664a36cc0b1f707d130e48221aa by Pekka Paalanen (on behalf of Yong Bakos) on 10/11/2016 at 11:11..
protocol: Use singleton global consistently

The protocol describes wl_shm as a "global singleton" rather than
"singleton global," which is the order used throughout other protocol
object descriptions.

Re-order the terms for consistency.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b802108f6e8dc664a36cc0b1f707d130e48221aa

Git commit 23d3c67c9a1ccc74f4e0359b06d56db3c1a65861 by Pekka Paalanen (on behalf of Daniel Stone) on 10/11/2016 at 11:30..
tests: Use unique XDG_RUNTIME_DIR

Rather than using a hardcoded 'wayland-tests' directory under
the existing XDG_RUNTIME_DIR to use as the new runtime dir, use mkdtemp
to guarantee uniqueness. This fixes make -jN check, as well as just
happening to run 'make check' twice from the same session.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reported-by: Pekka Paalanen <pekka.paalanen at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/23d3c67c9a1ccc74f4e0359b06d56db3c1a65861

Git commit ed7a6880256847e1febbae613e5dbd369e3afbea by Pekka Paalanen (on behalf of Yong Bakos) on 10/11/2016 at 11:37..
scanner: Remove return doxygen annotation

Replace \returns with just Returns, as this is not a doxygen comment block.
(Avoids differing with the existing convention of \return for return values.)

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed7a6880256847e1febbae613e5dbd369e3afbea

Git commit a6cf19842cc3773c0167e0cf1477295f23de9dd9 by Pekka Paalanen (on behalf of Yong Bakos) on 10/11/2016 at 11:52..
util: Document wl_message

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a6cf19842cc3773c0167e0cf1477295f23de9dd9

Git commit 66a26aeb2a4d76141938aab72113259c19e7ea17 by Pekka Paalanen (on behalf of Yong Bakos) on 10/11/2016 at 14:41..
protocol: Remove inconsistent line breaks

Enum entries and message arguments are sometimes preceded by a blank line, but
often aren't.

Standardize the format of the protocol specification by removing blank lines
preceding a list of message arguments and enum entries.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/66a26aeb2a4d76141938aab72113259c19e7ea17

Git commit 9618087c6ad0b1e2de4037279f7370846c5f508c by Pekka Paalanen (on behalf of Yong Bakos) on 10/11/2016 at 15:12..
tests: Test wl_message_count_arrays

message-test.c did not cover wl_message_count_arrays, so add one test that
specifically tests this method. Note that this exposes wl_message_count_arrays
in a private header (wayland-private.h), and removes the `static` modifier of
the implementation.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9618087c6ad0b1e2de4037279f7370846c5f508c

Git commit edd62e62b77061ed09c34bf9e964ddcc6c08c88e by Pekka Paalanen on 16/11/2016 at 11:23..
Makefile: do not put TESTS into check_PROGRAMS

If you assign TESTS into check_PROGRAMS, you cannot add a test that is
not built from source files.

Instead, use a temporary variable built_test_programs to hold the names
that are both programs built from source files and tests to execute.

This change is required by the following patch adding wayland-scanner
test script.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/edd62e62b77061ed09c34bf9e964ddcc6c08c88e

Git commit 2c6350beb92816eb9213c4944d197485e788ef6d by Daniel Stone (on behalf of Bill Spitzak) on 16/11/2016 at 15:29..
scanner: Fixed doxygen group name for _add_listener

Signed-off-by: Bill Spitzak <spitzak at gmail.com>
Acked-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2c6350beb92816eb9213c4944d197485e788ef6d

Git commit 2281bc08b2be2eb07c169fc283dc1e16f99bf346 by Daniel Stone (on behalf of Yong Bakos) on 16/11/2016 at 15:57..
util: Remove stray space from function signature

wl_fixed_to_double had a stray space before the parameter list.
Remove this space.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2281bc08b2be2eb07c169fc283dc1e16f99bf346

Git commit fd75029fb9e0c5678914f5046809ab047cf7583c by Daniel Stone (on behalf of Yong Bakos) on 16/11/2016 at 16:35..
util: Document wl_fixed_t

Add doxygen comments for wl_fixed_t and its methods.

Although wl_fixed_t can be thought of as an opaque struct, it is a typedef. As
such, doxygen does not provide an elegant means of documenting it as both a
'class' with members and as a typedef. In other words, documenting it as a class
gives us a nice doxygen page for wl_fixed_t and its related methods, but this
leaves the typedef documentation blank in the documentation for wayland-util,
and does not provide a link to the documentation for wl_fixed_t. Hence, this
patch does not treat wl_fixed_t as a class/struct, resulting in the typedef
being documented and keeping the functions listed in wayland-util, rather than a
separate unlinked page devoted to just wl_fixed_t.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fd75029fb9e0c5678914f5046809ab047cf7583c

Git commit 6a18a87727c64719c68168568b9ab1e4d7c2d9c1 by Daniel Stone (on behalf of Dennis Kempin) on 16/11/2016 at 16:35..
protocol: Extend wl_touch with touchpoint shape and orientation

This CL updates the wl_touch interface with a shape and
orientation event.
The shape/orientation of a touch point is not relevant for most UI
applications, but allows a better experience in some cases
such as drawing apps.

The events are used by the compositor to inform the client
about changes in the shape and orientation of a touchpoint, which is
approximated by an ellipse and it's angle to the y-axis.

The event is optional and only sent when compositor and the
touch device support this type of information. The client is
responsible for making a reasonable assumption about the
touch shape if no shape is reported.

Signed-off-by: Dennis Kempin <denniskempin at google.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6a18a87727c64719c68168568b9ab1e4d7c2d9c1

Git commit 06b7c471b7de2e0d9852af60514594417b29d4e3 by Daniel Stone (on behalf of Moritz Kiefer) on 16/11/2016 at 16:39..
doc: Fix a typo in the client documentation

Signed-off-by: Moritz Kiefer <moritz.kiefer at purelyfunctional.org>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/06b7c471b7de2e0d9852af60514594417b29d4e3

Git commit aa51a833eb9b3d8fb58a64ff685b249d65ec35b5 by Pekka Paalanen on 17/11/2016 at 11:33..
Makefile: build also test programs during a normal build

Put also test programs into noinst_PROGRAMS so that they get always
built. In check_PROGRAMS they are built for 'make check' but not for
'make'.

This makes it harder to accidentally break the test programs.

v2: also change check_LTLIBRARIES to noinst_LTLIBRARIES

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aa51a833eb9b3d8fb58a64ff685b249d65ec35b5

Git commit 0cdc3229b02ffa1863f48e21806f6a070937fb0b by Pekka Paalanen (on behalf of Yong Bakos) on 18/11/2016 at 14:08..
util: Document wl_interface

Add doxygen comments for wl_interface.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0cdc3229b02ffa1863f48e21806f6a070937fb0b

Git commit b0cd65deacb99c9cf0ca5c0c741307eb1f4a9c5e by Pekka Paalanen (on behalf of Yong Bakos) on 18/11/2016 at 14:21..
tests: Test wl_interface_equal

The test suite did not cover wl_interface_equal, so add one test that
specifically tests this method. Add the new test to Makefile.am.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
[Pekka: add assert(&wl_registry_interface != &copy);]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b0cd65deacb99c9cf0ca5c0c741307eb1f4a9c5e

Git commit 2d328a4559152ed11e52bdbd85689d7b2239596a by Pekka Paalanen (on behalf of Yong Bakos) on 18/11/2016 at 14:59..
tests: Add nullable check to wl_message_count_arrays

Array argument symbols in a wl_message may be nullable, but the test for
wl_message_count_arrays did not test this. Add one more wl_message with
nullable array arguments.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2d328a4559152ed11e52bdbd85689d7b2239596a

Git commit 9ac70f4349bfa4f934b96cdff4eaa88d5811b5a5 by Pekka Paalanen (on behalf of Yong Bakos) on 18/11/2016 at 15:10..
util: Improve documentation of wl_argument

Standardize the doxygen comment format, add clarity to the writing, decouple
the description from specifics of usage, add see-also's, and massage the union
member type comments.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9ac70f4349bfa4f934b96cdff4eaa88d5811b5a5

Git commit 5c48aac33b191b30f36e777be836441e211166b6 by Daniel Stone (on behalf of Derek Foreman) on 21/11/2016 at 09:58..
cursor: Remove "weston" from anonymous shm filenames

This mildly confused me during some debugging, so I guess it wouldn't
hurt to make the filename more indicative of where it was actually
created.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c48aac33b191b30f36e777be836441e211166b6

Git commit b4636b5e606177c5a771fcf4349fbf321fdf071c by Daniel Stone (on behalf of Peter Hutterer) on 21/11/2016 at 11:07..
protocol: spell out that we're using linux/input-event-codes.h button codes

Because we already rely on it in the callers anyway. This is a retrofit, which
is not ideal but I'm not sure any compositor out there uses anything else.
Might as well define it.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b4636b5e606177c5a771fcf4349fbf321fdf071c

Git commit 013cfd9408ca7460f62dd1721a057330bd6524a8 by Daniel Stone (on behalf of Yong Bakos) on 21/11/2016 at 11:07..
util: Improve documentation of wl_iterator_result

Use declarative voice, remove the unnecessary doxygen \enum tag, and add
two see-also's. This keeps the output the same but makes the comment
voice consistent, a little more readable, and refers to documented
functions that use this enum type.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/013cfd9408ca7460f62dd1721a057330bd6524a8

Git commit 8d335bf264ee388034d9ac505daef0ea72d9f214 by Daniel Stone (on behalf of Derek Foreman) on 21/11/2016 at 11:17..
build: Fix scanner path in uninstalled pkg-config file

this was generating a pkg-config file that said wayland-scanner was
wayland/src/wayland-scanner when it's actually wayland/wayland-scanner

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Acked-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8d335bf264ee388034d9ac505daef0ea72d9f214

Git commit 84776648a55558a59913fb0b0b4b76229fb89a8e by Daniel Stone (on behalf of Reynaldo H. Verdejo Pinochet) on 21/11/2016 at 11:17..
buildsystem: adjust uninstalled -client/server pkg-config infra

Add missing protocol dir to uninstalled include path.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo at osg.samsung.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Acked-by: Bryce Harrington <bryce at osg.samsung.com>
Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/84776648a55558a59913fb0b0b4b76229fb89a8e

Git commit b05baa6aa82ba434229ed37a64c0022d56ebf46d by Daniel Stone (on behalf of Yong Bakos) on 21/11/2016 at 11:27..
util: Document wl_log_func_t

Add a doxygen comment for wl_log_func_t.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b05baa6aa82ba434229ed37a64c0022d56ebf46d

Git commit a2cbdefc92ad012435e7e2d63ecb93243b445fc0 by Daniel Stone (on behalf of Bryce Harrington) on 21/11/2016 at 11:35..
wayland-client: Require base 10 for WAYLAND_SOCKET, explicitly

The third arg to strtol() specifies the base to assume for the number.
When 0 is passed, as is currently done in wayland-client.c, hexadecimal
and octal numbers are permitted and automatically detected and
converted.

I can find no indication that we would ever expect use of hexadecimal or
octal for socket fd's.  So be explicit about what base we're assuming
here and avoid any potential surprises.

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a2cbdefc92ad012435e7e2d63ecb93243b445fc0

Git commit a26ed0949ec21a26fbbb6fb02f775e2da45611ea by Daniel Stone (on behalf of Peter Hutterer) on 21/11/2016 at 11:43..
protocol: indentation fixes

8 spaces changed to one tab

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Acked-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a26ed0949ec21a26fbbb6fb02f775e2da45611ea

Git commit 024200745fc83373effdf64f3a5684c1a9cd9a13 by Daniel Stone (on behalf of Yong Bakos) on 21/11/2016 at 21:16..
util: Clarify documentation of wl_dispatcher_func_t

Adjust the brief, clarify the behavior and arguments, correct a grammar
error, document the parameters, and document the return type.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/024200745fc83373effdf64f3a5684c1a9cd9a13

Git commit 992b451dc44389e56913e3e57681aec00ee6bffc by Pekka Paalanen on 23/11/2016 at 08:18..
tests: add data files for future wayland-scanner test

This patch adds the input and reference output data files for the
wayland-scanner tests to be added by the following patch.

The data files are split into their own patch because they are extremely
uninteresting to review:
- example.xml is just a copy wayland.xml from 1.12.0
- small.xml is a tiny dummy definition used for testing scanner
  variations without causing lots of big output files
- the other files are wayland-scanner products from the xml files

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk>
v2: update output due to 2c6350beb92816eb9213c4944d197485e788ef6d
Acked-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/992b451dc44389e56913e3e57681aec00ee6bffc

Git commit c9f64544a3b5f217c776bb959971a4e061eb15de by Pekka Paalanen on 23/11/2016 at 08:18..
tests: add scanner tests

Add tests that ensure that wayland-scanner output for a given input does
not change unexpectedly. This makes it very easy to review
wayland-scanner patches.

Before, when patches were proposed for wayland-scanner, I had to
build wayland without the patches, save the generated files into a
temporary directory, apply the patches, build again, and diff the old
vs. new generated file.

No more. Now whenever someone makes intentional changes to
wayland-scanner's output, he will also have to patch the example output
files to match. That means that reviewers see the diff of the generated
files straight from the patch itself. Verifying the diff is true is as
easy as 'make check'.

The tests use separate example XML files instead of wayland.xml
directly, so that wayland.xml can be updated without fixing scanner
tests, avoiding the churn.

example.xml starts as a copy of wayland.xml. If wayland.xml starts using
new wayland-scanner features, they should be copied into example.xml
again to be covered by the tests.

This patch relies on the previous patch to actually add all the data
files for input and reference output.

The scanner output is fed through sed to remove parts that are allowed
to vary: the scanner version string.

v2: no need for scanner-test.sh to depend on the test data

Task: https://phabricator.freedesktop.org/T3313
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk> (v1)
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Tested-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c9f64544a3b5f217c776bb959971a4e061eb15de

Git commit 20742b74490bd80ef62b888157df37af92a21e99 by Daniel Stone (on behalf of Yong Bakos) on 23/11/2016 at 10:11..
doc: Remove display of WL_PRINTF attribute

Doxygen truncates a WL_PRINTF function attribute, and there does not
seem to be any workaround[1]. When using the attribute like this:

typedef void (*wl_log_func_t)(const char *, va_list) WL_PRINTF(1, 0);

Doxygen generates something that looks like this:

typedef void (*wl_log_func_t)(const char *, va_list) WL_PRINTF(1,

Configure doxygen to consider WL_PRINTF(x,y) as predefined, so it does
not display the attribute at all in the generated documentation.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=774741

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/20742b74490bd80ef62b888157df37af92a21e99

Git commit deb370cc8f834aa93c294b70f2e944dafd692031 by Daniel Stone (on behalf of Yong Bakos) on 28/11/2016 at 11:25..
doc: Remove wayland-util.c from file list

Documentation generation via doxygen includes wayland-util.c in its file
list. Although functions are documented in wayland-util.h, doxygen is
not automatically using the same documentation for functions in
wayland-util.c. In addition, everything listed in the doxygen page for
wayland-util.c is documented in the page for wayland-util.h and the
pages for corresponding structures. As such, the doxygen page for
wayland-util.c has no value, and is redundant.

Remove the doxygen page for wayland-util.c.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/deb370cc8f834aa93c294b70f2e944dafd692031

Git commit 0b85db7ee6d0678e2ba0ec5f418363b85153b94a by Emilio Pozuelo Monfort on 07/12/2016 at 16:34..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0b85db7ee6d0678e2ba0ec5f418363b85153b94a

Git commit 866b355e0018fb2f1d8de9d5f5ab6a3ace2121b1 by Emilio Pozuelo Monfort on 07/12/2016 at 16:35..
New upstream release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/866b355e0018fb2f1d8de9d5f5ab6a3ace2121b1

Git commit 35088941d1206c8318720402ffb8237f6ff26bb5 by Emilio Pozuelo Monfort on 07/12/2016 at 17:00..
Update links to https
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/35088941d1206c8318720402ffb8237f6ff26bb5

Git commit bf0d21c611cee2ea4804d3226552daedda96f800 by Emilio Pozuelo Monfort on 07/12/2016 at 17:07..
Verify upstream tarball signature
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bf0d21c611cee2ea4804d3226552daedda96f800

Git commit 93ae9d6822939f6e2de98e79762592a348203669 by Emilio Pozuelo Monfort on 07/12/2016 at 17:38..
Remove unused variable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/93ae9d6822939f6e2de98e79762592a348203669

Git commit 69b9630022a8291d43d693a2c9072492dd5eb8d7 by Emilio Pozuelo Monfort on 07/12/2016 at 17:44..
Bump debhelper compat to 10
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/69b9630022a8291d43d693a2c9072492dd5eb8d7

Git commit a0a2018f7462ccf4720175f390411499465d9a0a by Emilio Pozuelo Monfort on 07/12/2016 at 17:44..
Let debhelper call dh-autoreconf
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a0a2018f7462ccf4720175f390411499465d9a0a

Git commit 73d18803b682ba0c9675ab57ab343296b5465dab by Emilio Pozuelo Monfort on 07/12/2016 at 17:55..
Release to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/73d18803b682ba0c9675ab57ab343296b5465dab

Git commit 721e0b4a9783a965dcb7f926ff595755219351f5 by Daniel Stone (on behalf of Yong Bakos) on 10/12/2016 at 00:37..
util: Document wl_array and wl_list members

Despite their clear names, wl_array and wl_list members are undocumented,
resulting in doxygen warnings[1] when building documentation.

Document these members, suppressing the warnings.

[1] Warnings are visible when EXTRACT_ALL = NO.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/721e0b4a9783a965dcb7f926ff595755219351f5

Git commit 493eda337ae7cc5530c23833f91f1738690d7ba3 by Pekka Paalanen (on behalf of Peter Hutterer) on 24/01/2017 at 09:48..
tests: sync example.xml with wayland.xml

These are the protocol.xml changes from:
66a26aeb2a: protocol: Remove inconsistent line breaks
a26ed0949e: protocol: indentation fixes
6a18a87727: protocol: Extend wl_touch with touchpoint shape and orientation

and a few other, smaller ones.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Tested-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/493eda337ae7cc5530c23833f91f1738690d7ba3

Git commit 6c481003a2e971c59d3e2fc758d50bb4d623f2bd by Pekka Paalanen (on behalf of Peter Hutterer) on 24/01/2017 at 09:58..
scanner: add helper function to convert "since" to a version

Same code we already had, just moved into a helper function

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6c481003a2e971c59d3e2fc758d50bb4d623f2bd

Git commit f8ab47690c03245da4938cbab7a4ba6bcb1bebe0 by Pekka Paalanen (on behalf of Peter Hutterer) on 24/01/2017 at 09:59..
scanner: support "since" attribute for enum entries

This was already in the DTD but not supported by the scanner.

The check for ever-increasing "since" tags is not strictly required for enum
entries as we control the binary value. But it keeps the xml file in
good order, preventing things like:

      <entry name="first" value="…" />
      <entry name="second" value="…" since="3"/>
      <entry name="third" value="…" since="2"/>
      <entry name="fourth" value="…" since="3"/>

If this is undesirable in the future the check can be removed without
side-effects.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8ab47690c03245da4938cbab7a4ba6bcb1bebe0

Git commit 2f72d0a8a82dac8c961cb9b4b509208b84322937 by Pekka Paalanen (on behalf of Peter Hutterer) on 24/01/2017 at 10:00..
protocol: add axis_source.wheel_tilt

Unlike a wheel rotation, a wheel tilt is a discrete-only axis. Wheel rotations
are mapped to degrees in libinput but that that does not apply to wheel tilt
axes where there is no physical equivalent.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Acked-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f72d0a8a82dac8c961cb9b4b509208b84322937

Git commit d915447365be68a39607a176e03e06a05cb8a72d by Pekka Paalanen (on behalf of Olivier Fourdan) on 24/01/2017 at 13:47..
wayland-server: Add API to control globals visibility

Add a new API to let compositor decide whether or not a wl_global
should be advertised to the clients via wl_registry_bind() or
display_get_registry()

By using its own filter, the compositor can decide which wl_global would
be listed to clients.

Compositors can use this mechanism to hide their own private interfaces
that regular clients should not use.

- Hiding interfaces that expose compositor implementation details
  makes it harder for clients to identify the compositor. Therefore
  clients are a little less likely to develop compositor-specific
  workarounds instead of reporting problems upstream.

- Hiding can be used to diminish the problems from missing namespacing:
  if two compositors happen to use the same named global with
  different interfaces for their special-purpose clients, the client
  expecting the different interface would probably never see it
  advertised.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d915447365be68a39607a176e03e06a05cb8a72d

Git commit 65b773e51fe874c78785fe3e63a8d6972fa0c57c by Pekka Paalanen (on behalf of Olivier Fourdan) on 24/01/2017 at 13:49..
wayland-server: Add functions to wl_global

When using a wl_global, a server may need to retrieve the associated
wl_interface and user data.

Add a couple of convenient functions wl_global_get_interface() and
wl_global_get_user_data() for this purpose.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/65b773e51fe874c78785fe3e63a8d6972fa0c57c

Git commit ad4f04872a3f99eaef38cceab1987906b0e19996 by Bryce Harrington on 25/01/2017 at 02:13..
configure.ac: bump to version 1.12.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ad4f04872a3f99eaef38cceab1987906b0e19996

Git commit 23d8bc5a64312d4e1e233fd04844cc22a6bb512d by Pekka Paalanen (on behalf of Olivier Fourdan) on 25/01/2017 at 10:19..
tests: Add a test for global filter

Test if the global filter is effectively filtering out the global when
the filter returns false.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/23d8bc5a64312d4e1e233fd04844cc22a6bb512d

Git commit 5e6eb032294ecdee889600c604dfcaab0ffb9398 by Pekka Paalanen (on behalf of Giulio Camuffo) on 25/01/2017 at 11:46..
server: add a safer signal type and port wl_display to it

wl_list_for_each_safe, which is used by wl_signal_emit is not really
safe. If a signal has two listeners, and the first one removes and
re-inits the second one, it would enter an infinite loop, which was hit
in weston on resource destruction, which emits a signal.
This commit adds a new version of wl_signal, called wl_priv_signal,
which is private in wayland-server.c and which does not have this problem.
The old wl_signal cannot be improved without breaking backwards compatibility.

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e6eb032294ecdee889600c604dfcaab0ffb9398

Git commit 7454aa9bb9569a1d63f6bcb1938e165ea370a4a5 by Pekka Paalanen (on behalf of Giulio Camuffo) on 25/01/2017 at 11:46..
server: use the new wl_priv_signal in wl_client

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7454aa9bb9569a1d63f6bcb1938e165ea370a4a5

Git commit c44eed1c064999f1e0297088bacd56c602dee2eb by Pekka Paalanen (on behalf of Giulio Camuffo) on 25/01/2017 at 11:47..
server: use the new wl_priv_signal for wl_resource

The old wl_signal is kept for backwards compatibility, as that is also
present in the deprecated public wl_resource struct, and that must be
kept working.

Signed-off-by: Giulio Camuffo <giulio.camuffo at kdab.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c44eed1c064999f1e0297088bacd56c602dee2eb

Git commit 5fbc9daa409371d15ffb9012cc21dddc934fad4a by Pekka Paalanen (on behalf of Derek Foreman) on 25/01/2017 at 12:59..
server: Refactor array send functions

These have grown a little in size but are almost identical, factor
out the common code.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5fbc9daa409371d15ffb9012cc21dddc934fad4a

Git commit efae9532e82e1faeb737fe0d3cf5932026ce1e6f by Pekka Paalanen (on behalf of Derek Foreman) on 25/01/2017 at 12:59..
server: Disallow sending events to clients after posting an error

Until now, we haven't done anything to prevent sending additional
events to clients after posting an error.

Acked-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/efae9532e82e1faeb737fe0d3cf5932026ce1e6f

Git commit de908658945ef8e13b27b32a7a69f14b3f9356df by Pekka Paalanen (on behalf of Derek Foreman) on 25/01/2017 at 12:59..
wayland-server: log an error for events with wrong client objects

Check that all the objects in an event belong to the same client as
the resource posting it.  This prevents a compositor from accidentally
mixing client objects and posting an event that causes a client to
abort with a cryptic message.

Instead the client will now be disconnected as it is when the compositor
tries to send a null for a non-nullable object, and a log message
will be printed by the compositor.

Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de908658945ef8e13b27b32a7a69f14b3f9356df

Git commit e89d0a66843eb3cb4d888c594ad87ef731e51697 by Daniel Stone (on behalf of Yong Bakos) on 26/01/2017 at 14:49..
dtddata: Use standard permission notice

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e89d0a66843eb3cb4d888c594ad87ef731e51697

Git commit 8fe8a2bb1e2b893bd39899f7481d5cf5fa303b29 by Daniel Stone (on behalf of Yong Bakos) on 26/01/2017 at 14:49..
tests: Test wl_argument_from_va_list

connection-test.c did not cover wl_argument_from_va_list, so add one
test that specifically tests this method.

Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8fe8a2bb1e2b893bd39899f7481d5cf5fa303b29

Git commit 56f2dad6d2ac04e179d43d525f6213031dcb4d62 by Pekka Paalanen on 27/01/2017 at 08:36..
wayland-server: hide wl_priv_signal from doxygen

Fix this set of warnings appearing three times during a build:

/home/pq/git/wayland/src/wayland-server.c:1868: warning: class
`wl_priv_signal' for related function `wl_priv_signal_init' is not
documented.
/home/pq/git/wayland/src/wayland-server.c:1884: warning: class
`wl_priv_signal' for related function `wl_priv_signal_add' is not
documented.
/home/pq/git/wayland/src/wayland-server.c:1899: warning: class
`wl_priv_signal' for related function `wl_priv_signal_get' is not
documented.

Our Wayland docbook don't include private things, so make sure these do
not end up there. This removes the mention of wl_priv_signal_emit from
the Server API docbook. I have no idea why the other functions did not
appear there.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/56f2dad6d2ac04e179d43d525f6213031dcb4d62

Git commit 6161d7dd0efd33339a90bdfbc6f2575ff16f1b2f by Bryce Harrington on 07/02/2017 at 23:14..
configure.ac: bump to version 1.12.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6161d7dd0efd33339a90bdfbc6f2575ff16f1b2f

Git commit 24df0fb6b3835c3b4574847491eecae769af4c2c by Bryce Harrington on 14/02/2017 at 20:56..
configure.ac: bump to version 1.12.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/24df0fb6b3835c3b4574847491eecae769af4c2c

Git commit 1361da9cd5a719b32d978485a29920429a31ed25 by Bryce Harrington on 21/02/2017 at 21:27..
configure.ac: bump to version 1.13.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1361da9cd5a719b32d978485a29920429a31ed25

Git commit f8c93078f8ec4f754dfd7dc5de1c9833a3b0f453 by Bryce Harrington on 21/02/2017 at 22:27..
configure.ac: bump version to 1.13.90 for open development

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8c93078f8ec4f754dfd7dc5de1c9833a3b0f453

Git commit 680a6b32de49896dc290968f83a1e4cce315888e by Pekka Paalanen (on behalf of Carlos Garnacho) on 23/02/2017 at 14:42..
tests: Fix "new ID" type handling in argument_from_va_list test

New IDs are internally dealt with as objects, however this test
expected to deal with 'n' as the uint32_t type that's just seen
through the wire. We should give it an object instead, and
expect an object from it.

https://bugs.freedesktop.org/show_bug.cgi?id=99899

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Kalev Lember <kalevlember at gmail.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/680a6b32de49896dc290968f83a1e4cce315888e

Git commit 9b78be6bb0df43b7fe197946fe764e8a758006a8 by Pekka Paalanen (on behalf of Sergi Granell) on 28/02/2017 at 14:37..
wayland-server: Remove unused members from struct wl_client

Those struct members are no longer used so we can remove them.

Signed-off-by: Sergi Granell <xerpi.g.12 at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9b78be6bb0df43b7fe197946fe764e8a758006a8

Git commit 654dee85c65e554b3f0d82350d6740520e4e7d56 by Pekka Paalanen (on behalf of Emil Velikov) on 14/03/2017 at 10:54..
wayland-util: do not export the wl_map_* API

Used only internally and explicitly marked as such with commit
cf04b0a18f2 ("Move private definitions and prototypes to new
zwayland-private.h")

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/654dee85c65e554b3f0d82350d6740520e4e7d56

Git commit 9452cc53da5bef65a38e4d5a66a838c61e49f6cd by Pekka Paalanen (on behalf of Eric Engestrom) on 16/03/2017 at 12:10..
connection-test: fix assert

Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9452cc53da5bef65a38e4d5a66a838c61e49f6cd

Git commit 3f2c19469734a712ced0a1b17559d7e3bd744d50 by Daniel Stone on 17/03/2017 at 17:55..
scanner: Reword fallthrough comment to quiet GCC

GCC 7 now requires an explicit comment noting that case statements
without a break fall through. We already had one of those in the
scanner, but GCC wasn't smart enough to pick it up.

Quiet the warning by making the comment less elaborate.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3f2c19469734a712ced0a1b17559d7e3bd744d50

Git commit 0eefe99fe0683ae409b665a8b18cc7eb648c6c0c by Daniel Stone on 07/04/2017 at 15:11..
docs: Reference Contributor Covenant

All fd.o projects are now covered by the Contributor Covenant. Include a
reference to this in the Contributing doc, making it clear that we are
all expected to behave like human beings.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0eefe99fe0683ae409b665a8b18cc7eb648c6c0c

Git commit f52c50baad90f9c44d1a7ae21802204b4f9702d9 by Bryce Harrington on 12/07/2017 at 02:07..
configure.ac: bump to version 1.13.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f52c50baad90f9c44d1a7ae21802204b4f9702d9

Git commit 897256d4190caf276363b8ce11de8846094ea553 by Bryce Harrington on 25/07/2017 at 23:25..
configure.ac: bump to version 1.13.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/897256d4190caf276363b8ce11de8846094ea553

Git commit 042e7eadd8e852ef466592f0f0be0dab84736187 by Pekka Paalanen (on behalf of Owen W. Taylor) on 27/07/2017 at 11:56..
Switch graphviz files to use HTML-style labels

With recent versions of graphviz, generation of the diagrams in the documentation
fails with:

 /usr/bin/dot -Tpng -oxml/x-architecture.png dot/x-architecture.gv
 Warning: flat edge between adjacent nodes one of which has a record shape - replace records with HTML-like labels
   Edge xserver -> comp
 Error: getsplinepoints: no spline points available for edge (xserver,comp)
 Error: lost xserver comp edge
 Error: lost xserver comp edge
 Error: lost comp xserver edge
 Error: lost comp xserver edge

http://www.graphviz.org/content/i-havent-been-able-render-these-files-graphviz-226 indicates
that the error message basically means that the authors of graphviz consider record-style
labels to be deprecated and are no longer fixing errors with them. This patch changes
the labels to be in the HTML style, which seems to require duplicating style between all
the nodes, but it's not like these files are often edited.

The result is not exactly the same but is quite similar.

Reviewed-by: Armin Krezović <krezovic.armin at gmail.com>
Tested-by: Armin Krezović <krezovic.armin at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/042e7eadd8e852ef466592f0f0be0dab84736187

Git commit 269c1434b4f5442a5625b662dd4bef10d2d22910 by Bryce Harrington on 01/08/2017 at 18:12..
configure.ac: bump to version 1.13.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/269c1434b4f5442a5625b662dd4bef10d2d22910

Git commit c450159e0e50d4464a800871cd4cb203528d6468 by Timo Aaltonen on 03/08/2017 at 07:50..
Merge branch 'debian-unstable' into d-u
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c450159e0e50d4464a800871cd4cb203528d6468

Git commit 2d6fad29e42cdf4070e549f08faef0d53e3e2acf by Timo Aaltonen on 03/08/2017 at 07:53..
update the changelog
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2d6fad29e42cdf4070e549f08faef0d53e3e2acf

Git commit de130bdbf8a605241786bac1974f604ccef5b67c by Timo Aaltonen on 03/08/2017 at 08:21..
libwayland-server0.symbols: Updated.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de130bdbf8a605241786bac1974f604ccef5b67c

Git commit 7eb795ae271fc3618414787ca0203b23754a78fb by Timo Aaltonen on 03/08/2017 at 08:25..
release to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7eb795ae271fc3618414787ca0203b23754a78fb

Git commit 989cf03d1ce05d2b2481758e746f7299a1086880 by Bryce Harrington on 08/08/2017 at 18:20..
configure.ac: bump to version 1.14.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/989cf03d1ce05d2b2481758e746f7299a1086880

Git commit 0b991b62b864a123db971a56adfc14f5e2255cac by Bryce Harrington on 08/08/2017 at 19:03..
Reopen master for regular development

A 1.14 branch has been established for stable release work.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0b991b62b864a123db971a56adfc14f5e2255cac

Git commit 25b4bcc92fc856b5394b4222d24d09e9909d5b66 by Timo Aaltonen on 10/08/2017 at 07:44..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/25b4bcc92fc856b5394b4222d24d09e9909d5b66

Git commit 1c0cc8d99c5e89af9ecbaefb9d9fbad0741b7558 by Timo Aaltonen on 10/08/2017 at 07:45..
bump the version
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1c0cc8d99c5e89af9ecbaefb9d9fbad0741b7558

Git commit 16ab6d9e626e93e40e5e32a85f45f08775ca3264 by Timo Aaltonen on 10/08/2017 at 08:07..
libwayland-{client,server}0.symbols: Updated.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/16ab6d9e626e93e40e5e32a85f45f08775ca3264

Git commit 6c919a92a0238379b148fbd406b6ea32cd64fd96 by Timo Aaltonen on 10/08/2017 at 08:10..
release to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6c919a92a0238379b148fbd406b6ea32cd64fd96

Git commit 12509e46b73e4c01c5d21a3c3b39e835d206d64d by Pekka Paalanen (on behalf of Emil Velikov) on 18/08/2017 at 11:51..
scanner: remove unused scanner.mk

Nothing in the existing codebase references the file.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/12509e46b73e4c01c5d21a3c3b39e835d206d64d

Git commit 22be3c7b90ef6156f7793d36d341777222d5e36c by Pekka Paalanen (on behalf of Emil Velikov) on 18/08/2017 at 11:55..
scanner: use tabs for indentation.

File uses tabs, barring the few instances fixed with this patch.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/22be3c7b90ef6156f7793d36d341777222d5e36c

Git commit b88ada076094ba160ff58229de1259e0e2a26c3a by Pekka Paalanen (on behalf of Jonas Ådahl) on 18/08/2017 at 12:20..
Pass input/output files as arguments to wayland-scanner

When input/output files are passed as arguments to wayland-scanner,
instead of using stdin/stdout, warning and error messages will contain
the file name, together with line number, of the warning/error. Doing
this helps IDEs jump to the correct line.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
[Pekka: dropped the src/scanner.mk hunk, file deleted]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b88ada076094ba160ff58229de1259e0e2a26c3a

Git commit 3ea73cba0446886632cd24442203fda47cb3c220 by Pekka Paalanen on 25/08/2017 at 07:35..
server: document wl_event_loop and wl_event_source

This documents all the public API related to wl_event_loop and
wl_event_source objects.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
[Pekka: fixed typos pointed by Yong]
[Pekka: fixed typos pointed by Christopher]
Reviewed-By: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3ea73cba0446886632cd24442203fda47cb3c220

Git commit 5bb82687667ed522615f3263a91c283ced4f7f6a by Pekka Paalanen (on behalf of Emil Velikov) on 18/09/2017 at 09:21..
build: remove wayland-version.h.in from EXTRA_DIST

All the foo.in files are in the tarball, as long as their foo
counterparts are listed in AC_CONFIG_FILES

For example - *.pc.in, Makefile.in files, etc.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5bb82687667ed522615f3263a91c283ced4f7f6a

Git commit f6bbc975d30560a4cd73038b1cca840d330ed428 by Pekka Paalanen (on behalf of Derek Foreman) on 02/10/2017 at 08:45..
protocol: Suggest get_registry not be called frequently

I've heard some complaints that wl_display.get_registry "leaks"
server memory because wl_registry has no destructor.  While this isn't
strictly true - all those resources are freed when the client
disconnects - it's a bit of a gotcha for neophytes.

Since wl_registry's version is not requested in any way through
wl_display.get_registry, we can't add a destructor request without
breaking ABI.  So let's be a little more clear about the result
of getting too many wl_registry objects.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f6bbc975d30560a4cd73038b1cca840d330ed428

Git commit 242005636d0897db166215ed09cf3832217df008 by Pekka Paalanen (on behalf of Emil Velikov) on 13/10/2017 at 11:26..
wayland-server: document WL_HIDE_DEPRECATED

Add some inline information, what the macro is used for, why it came to
be and what we shouldn't do if we consider further deprecation in the future
deprecation.

Cc: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/242005636d0897db166215ed09cf3832217df008

Git commit 5d201df72f3d4f4cb8b8f75f980169b03507da38 by Pekka Paalanen (on behalf of Tobias Stoeckmann) on 29/11/2017 at 07:45..
cursor: Fix heap overflows when parsing malicious files.

It is possible to trigger heap overflows due to an integer overflow
while parsing images.

The integer overflow occurs because the chosen limit 0x10000 for
dimensions is too large for 32 bit systems, because each pixel takes
4 bytes. Properly chosen values allow an overflow which in turn will
lead to less allocated memory than needed for subsequent reads.

See also: https://cgit.freedesktop.org/xorg/lib/libXcursor/commit/?id=4794b5dd34688158fb51a2943032569d3780c4b8
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103961

Signed-off-by: Tobias Stoeckmann <tobias at stoeckmann.org>
[Pekka: add link to the corresponding libXcursor commit]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5d201df72f3d4f4cb8b8f75f980169b03507da38

Git commit 341bb12a0d6952ba7af840dabe9651ced582e7a7 by Daniel Stone (on behalf of Emmanuel Gil Peyrot) on 01/12/2017 at 16:55..
tests: Add one more indentation level to some macros

This is a preparatory patch for the next one.

Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/341bb12a0d6952ba7af840dabe9651ced582e7a7

Git commit 4c920f0f5e591b066544cfda5a2b223ef46334a0 by Daniel Stone (on behalf of Emmanuel Gil Peyrot) on 01/12/2017 at 16:56..
tests: Mark tests used so they don’t get removed at link time

Without this attribute, these macros were making Weston’s tests fail to
build with LTO enabled.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94602
Signed-off-by: Markus Trippelsdorf <markus at trippelsdorf.de>
Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot at collabora.com>
Tested-by: Emmanuel Gil Peyrot <emmanuel.peyrot at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4c920f0f5e591b066544cfda5a2b223ef46334a0

Git commit 2f392daadbf27fbd91907e27c3333af41ca15765 by Daniel Stone (on behalf of Emil Velikov) on 04/12/2017 at 19:45..
cursor: add forward declaration for struct wl_buffer

This makes the header self-contained, since the struct is considered
opaque from waylad-cursor POV.

As we're here move the wl_shm fwd. declaration alongside the others.
Making it easier to read and track.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f392daadbf27fbd91907e27c3333af41ca15765

Git commit 698dde195837f3d0844b2725ba4ea8ce9ee7518c by Daniel Stone (on behalf of Jonas Ådahl) on 04/12/2017 at 19:45..
protocol: Add deprecation note about wl_shell

Now that xdg_shell is stable and much better defined than wl_shell we
can finally deprecate wl_shell and guide users towards xdg_shell
instead.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c

Git commit ed7ad31ac2fa3fb1aa03ed1435e6673b6b070f55 by Daniel Stone (on behalf of Christopher James Halse Rogers) on 04/12/2017 at 19:45..
eventloop: clarify post_dispatch_check()

This *technically* changes the semantics of the return value of the source callbacks.
Previously you could return a negative number from a source callback and it would prevent
*other* source callbacks from triggering a subsequent recheck.

Doing that seems like such a bad idea it's not worth supporting.

v2: Log this case if it is hit, so we don't silently change behaviour.

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed7ad31ac2fa3fb1aa03ed1435e6673b6b070f55

Git commit c3ff179a953213ed4dd91b96bd1c093b4a7d460e by Daniel Stone (on behalf of Armin Krezović) on 04/12/2017 at 19:53..
Do not create man page links with doxygen

There is a lot of files created with .so links to non-installed
files, making most of installed pages useless. The files
referenced in .so links are not suitable for installation nor
do they contain any useful information for them to be worth
fixing.

Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
Acked-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c3ff179a953213ed4dd91b96bd1c093b4a7d460e

Git commit 971a9e7873e43f3bd059b340e1e9bfa65b384e47 by Daniel Stone (on behalf of Derek Foreman) on 04/12/2017 at 22:21..
connection: close_fds() should only remove fds it closed from the buffer

All current callers close all fds, so this has gone unnoticed, but if
we close less than all fds with close_fds() we leak all the unclosed
ones and ruin further event demarshalling.

A future patch will close less than the full buffer's worth of fds,
so this is now noticed.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/971a9e7873e43f3bd059b340e1e9bfa65b384e47

Git commit 56696e514842d214be492c3291e7572f2d70d976 by Daniel Stone (on behalf of Derek Foreman) on 04/12/2017 at 22:21..
client: Simplify some logic in queue_event

Both the blocks in this if/else clause do the same thing, so combine
the comparisons into one.

No functional change.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/56696e514842d214be492c3291e7572f2d70d976

Git commit a46d89de9aaad325ea908a39a1a58edfabc95918 by Daniel Stone (on behalf of Derek Foreman) on 04/12/2017 at 22:22..
connection: Use wl_buffer_size() for all buffer size calculations

There were two places where we did the same calculation manually.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a46d89de9aaad325ea908a39a1a58edfabc95918

Git commit 8d4250ab5e2cf091edf56085def9eaa73752aa9c by Daniel Stone (on behalf of Jonas Ådahl) on 04/12/2017 at 22:38..
scanner: Add --strict flag

Add a --strict flag for making wayland-scanner fail if the DTD
verification fails. This is useful for testing, so that a test case can
fail a scan when the protocol doesn't comply with the DTD.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8d4250ab5e2cf091edf56085def9eaa73752aa9c

Git commit de24f4dd76652e11b552e61eb715285b9123b1d1 by Daniel Stone (on behalf of Pekka Paalanen) on 05/12/2017 at 10:43..
protocol: make get_subsurface double-buffered

The existing specification was not explicitly clear on when
wl_subcompositor.get_subsurface request actually adds the sub-surface to
the parent in the compositor's scenegraph. The implicit assumption was
that this happens immediately, but it was not written anywhere.

If it happens immediately, the client doing things in a wrong order may
cause a glitch on screen. Particularly, if the wl_surface B that is
going to be a sub-surface for wl_surface A (the parent) already has a
buffer committed, and the parent surface is mapped, then get_subsurface
will (may?) cause wl_surface B to become mapped immediately. That leaves
no time to set up the sub-surface z-order or position before mapping,
hence there can be a visible glitch.

The way to avoid that, given that the parent surface is mapped, is to
not commit a buffer to wl_surface B until all the sub-surface setup is
done.

However, doing the sub-surface setup always requires a wl_surface.commit
on the parent surface unless the defaults happen to be correct.

To make setting up a subsurface slightly easier by removing one
possibility for a glitch, this patch amends the specification to require
a wl_surface.commit on the parent surface for get_subsurface to
complete. The sub-surface cannot become mapped before a parent commit.

This change may break existing clients that relied on the glitchy
sequence to not need a parent surface commit to map the sub-surface.
However, presumably all uses would at least issue a
wl_subsurface.set_position, which requires a parent surface commit to
apply. That would guarantee that there is a parent surface commit after
get_subsurface, and so reduces the chances of breaking anything.

In other cases, this change may simply remove a possibility for the
glitch.

This patch also adds a note about changing wl_surface.commit behaviour
on wl_subcompositor.get_subsurface. (That could be a separate patch.)

The behaviour of wl_subsurface.destroy remains as specified, even though
it is now slightly asymmetrical to get_subsurface. This is emphasized by
adding the word "immediately". The effects of destruction were already
explicitly documented, as is the way to achieve synchronized unmapping,
so changing destruction behaviour would likely be more disruptive, and
also open up more corner cases (what would happen between destroy and
unmapping?).

Bug: https://phabricator.freedesktop.org/T7358
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Martin Gräßlin <mgraesslin at kde.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de24f4dd76652e11b552e61eb715285b9123b1d1

Git commit 1b6521e695de79a838c75e6bc5feba85e8aab13a by Pekka Paalanen (on behalf of Matt Hoosier) on 11/12/2017 at 08:03..
client: Allow absolute paths in WAYLAND_DISPLAY

In order to support system compositor instances, it is necessary to
allow clients' wl_display_connect() to find the compositor's listening
socket somewhere outside of XDG_RUNTIME_DIR. For a full account, see
the discussion beginning here:

https://lists.freedesktop.org/archives/wayland-devel/2017-November/035664.html

This change adjusts the client-side connection logic so that, if
WAYLAND_DISPLAY is formatted as an absolute pathname, the socket
connection attempt is made to just $WAYLAND_DISPLAY rather than
usual user-private location $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY.

This change is based on Davide Bettio's submission of the same concept
at:

https://lists.freedesktop.org/archives/wayland-devel/2015-August/023838.html.

v4 changes:

* Improved internal comments and some boundary-condition
  error checks in test case.
* Refer to compositor as "Wayland server" rather than "Wayland
  display" in wl_display_connect() doxygen comments.
* Remove redundant descriptions of parameter-interpretation
  mechanics from wl_display_connect() manpage. Reworked things
  to make it clear that 'name' and $WAYLAND_DISLAY are each
  capable of encoding absolute server socket paths.
* Remove callout to reference implementation behavior in protocol
  documented. In its place there is now a simple statement that
  implementations can optionally support absolute socket paths.

v3 changes:

* Added test case.
* Clarified documentation to note that 'name' parameter to wl_display_connect()
  can also be an absolute path.

v2 changes:

* Added backward incompatibility note to wl_display_connect() manpage.
* Rephased wl_display_connect() manpage changes to precisely match actual
  changed behavior.
* Added mention of new absolute path behavior in wl_display_connect()
  doxygen comments.
* Mentioned new absolute path interpretation of WAYLAND_DISPLAY in
  protocol documentation.

Signed-off-by: Matt Hoosier <matt.hoosier at gmail.com>
Acked-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1b6521e695de79a838c75e6bc5feba85e8aab13a

Git commit 147617800dd615b72a7449c9fd591ec0c7cf33af by Pekka Paalanen on 18/12/2017 at 10:05..
doc: start documenting Xwayland

This is a rough intro to what Xwayland is and does, with just one
implementation detail so far (Window identification).

I paid no attention to formatting details, those can be polished in
follow-ups. I just want the prose out.

I also just quickly whacked up the diagram, would be happy to see
someone replace it with a nicer one. I just didn't have time to learn
dot for now.

v2:
- typo fix
- rephrase "talking to hardware" as "driving the displays"
- mention circular dependency in intro
- add section to explain rootless and rootful modes
- remove paragraph about Xwayland protocol usage
- move TBD part to the end under a new section header

v3:
- use "advantage" and "disadvantage" instead of "pro" and "con"
- slight rewording on rootful mode and rootless mode paragraphs
- removed the paragraph about the lack of shell and special Wayland
  protocol extensions
- removed the commented out list of ideas to write

v4:
- typo fixes pointed out by Yong

Cc: Olivier Fourdan <ofourdan at redhat.com>
Cc: Jonas Ådahl <jadahl at gmail.com>
Cc: Daniel Stone <daniel at fooishbar.org>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/147617800dd615b72a7449c9fd591ec0c7cf33af

Git commit 9a2735c2b74d63e7495268e3c9595912d00314c8 by Daniel Stone (on behalf of Derek Foreman) on 27/12/2017 at 13:49..
connection: Don't declare a local variable just to takes its size

We can sizeof the struct type instead of declaring a pointer and
taking the size of what it points to.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9a2735c2b74d63e7495268e3c9595912d00314c8

Git commit 383b2d965adf5b70330aa8165b395a85eb33e1df by Daniel Stone (on behalf of Derek Foreman) on 27/12/2017 at 13:51..
server: Log closure before sending it

This seems foolishly cosmetic on the surface - and will reorder log
messages in certain failure cases.  "request could not be marshalled"
will now appear after logging the request that failed to marshal
instead of before.

The real point of this is that a follow up patch will make
wl_closure_send() set fds to -1 as it buffers them for send, so
they can be more easily cleaned up.

Doing that while leaving this order unchanged would result in
printing -1 for fds instead of their value.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/383b2d965adf5b70330aa8165b395a85eb33e1df

Git commit e802094c9b6927148d1a7249af9ead49673f22b9 by Daniel Stone (on behalf of Derek Foreman) on 27/12/2017 at 13:59..
connection: Refactor out closure allocation

Moves the common/similar bits into one place.

This has a minor functional change - count and message are now initialized
immediately, previously they'd only be set if (de)marshal was successful.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e802094c9b6927148d1a7249af9ead49673f22b9

Git commit 52609ddf79a96fee0465006e2c6339a3a5d23a87 by Daniel Stone (on behalf of Derek Foreman) on 27/12/2017 at 14:14..
connection: Clear fds we shouldn't close to -1

This initializes all the fd arguments in closures to -1 and clears
them back to -1 when they've been dispatched or serialized.

This means that any valid fd in a closure is currently libwayland's
responsibility to close in the case of an error.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/52609ddf79a96fee0465006e2c6339a3a5d23a87

Git commit 46e4ea43a2ec546211f72be84b6a55188fb61626 by Daniel Stone (on behalf of Derek Foreman) on 27/12/2017 at 14:14..
connection: Make wl_closure_destroy() close fds of undispatched closures

When we have a closure that can't be dispatched for some reason, and it
contains file descriptors, we must close those descriptors to prevent
leaking them.

Previous commits ensure that only FDs belonging to this invocation of
the closure, i.e. not FDs provided by the client for marshalling, nor
FDs which have already been dispatched to either client or server, will
be left in the closure by destroy time.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/46e4ea43a2ec546211f72be84b6a55188fb61626

Git commit b4cf9e7d5e811a74812eb682512b3ef51c79f4af by Daniel Stone (on behalf of Derek Foreman) on 27/12/2017 at 14:18..
util: Pass flags to map iterators

On the client side we're going to need to know if an object from the
map is a zombie before we attempt to dereference it, so we need to
pass this to the iterator.

Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b4cf9e7d5e811a74812eb682512b3ef51c79f4af

Git commit 69fab4fffcab68e355a5c181641cee5a4ead769f by Daniel Stone (on behalf of Derek Foreman) on 28/12/2017 at 15:16..
client: Add wl_object_is_zombie() helper function

Add a helper function which determines whether or not an object is a
zombie.

[daniels: Extracted from Derek's bespoke-zombie patch as an intermediate
          step.]

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/69fab4fffcab68e355a5c181641cee5a4ead769f

Git commit 07d7a9968d9bf258794964584f68777686c90748 by Daniel Stone (on behalf of Derek Foreman) on 28/12/2017 at 19:43..
client: Add WL_MAP_ENTRY_ZOMBIE flag

Add a new map entry flag to indicate that the object received is valid,
but a zombie. Previously this relied on a fixed object pointer, but
future patches in this series will have map entries returning either
NULL, or a different structure type entirely, for zombie objects.

wl_object_is_zombie() now solely uses the new flag to determine whether
or not the object is a zombie.

[daniels: Extracted from Derek's bespoke-zombie patch as an intermediate
          step.]

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/07d7a9968d9bf258794964584f68777686c90748

Git commit 712ba320db29923197158905703cc81fa9b0b3e5 by Daniel Stone (on behalf of Derek Foreman) on 28/12/2017 at 19:43..
client: Restructure delete_id handler control flow

This makes it easier for future patches in the series, which can
possibly return NULL for extant map entries.

[daniels: Extracted from Derek's bespoke-zombie patch as an intermediate
          step.]

Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/712ba320db29923197158905703cc81fa9b0b3e5

Git commit c380adc554a3d0e2a567ff07deab020a3068304c by Daniel Stone (on behalf of Derek Foreman) on 28/12/2017 at 19:43..
client: Remove WL_ZOMBIE_OBJECT global

Since we now have the WL_MAP_ENTRY_ZOMBIE flag to determine whether or
not a client-side object is a zombie, we can remove the faux object.

[daniels: Extracted from Derek's bespoke-zombie patch as an intermediate
          step.]

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c380adc554a3d0e2a567ff07deab020a3068304c

Git commit b39d8933973394432bf994b0c6e564fdaceb4757 by Daniel Stone on 09/01/2018 at 15:17..
client: Use refcount exclusively for destruction

Commit e273c7cde added a refcount to wl_proxy. The refcount is set to 1
on creation, decreased when the client explicitly destroys the proxy,
and is increased and decreased every time an event referencing that
proxy is queued.

Assuming no bugs, this means the refcount cannot reach 0 without the
proxy being explicitly destroyed. However, some (not all) of the
proxy-unref paths were only destroying the proxy if it had already been
deleted. This should already be enforced by refcounting, so remove the
check and rely solely on the refcount as the arbiter of when to free a
proxy.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Cc: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b39d8933973394432bf994b0c6e564fdaceb4757

Git commit 430c7820c31608dd29408fc800530b4fd08ff777 by Daniel Stone on 09/01/2018 at 15:18..
client: Add wl_proxy_unref helper

Rather than open-coded decrement-and-maybe-free, introduce a
wl_proxy_unref helper to do this for us. This will come in useful for
future patches, where we may also have to free a zombie object.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Cc: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/430c7820c31608dd29408fc800530b4fd08ff777

Git commit 9744de9f472ec1e3c0e5b3416c097255e3bfdf12 by Daniel Stone on 09/01/2018 at 15:19..
client: Plug a race in proxy destruction vs. dispatch

Closures created to hold events which will be dispatched on the client,
take a reference to the proxy for the object the event was sent to, as
well as the proxies for all objects referenced in that event.

These references are dropped immediately before dispatch, with the
display lock also being released. This leaves the potential for a
vanishingly small race, where another thread drops the last reference
on one of the proxies used in an event as it is being dispatched.

Fix this by splitting decrease_closure_args_refcount into two functions:
one which validates the objects (to ensure that clients are not returned
objects which they have destroyed), and another which unrefs all proxies
on the closure (object event was sent to, all referenced objects) as
well as the closure itself. For symmetry, increase_closure_args_refcount
is now the place where the refcount for the proxy for the object the
event was sent to, is increased.

This also happens to fix a bug: previously, if an event was sent to a
client-destroyed object, and the event had object arguments, a reference
would be leaked on the proxy for each of the object arguments.

Found by inspection whilst reviewing the zombie-FD-leak series.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
Cc: Jonas Ådahl <jadahl at gmail.com>
Cc: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9744de9f472ec1e3c0e5b3416c097255e3bfdf12

Git commit 4485ed1f59cb8695f3ab690e074abd7e79a27640 by Daniel Stone (on behalf of Derek Foreman) on 09/01/2018 at 15:20..
client: Replace the singleton zombie with bespoke zombies

Using the singleton zombie object doesn't allow us to posthumously retain
object interface information, which makes it difficult to properly inter
future events destined for the recently deceased proxy.

Notably, this makes it impossible for zombie proxy destined file
descriptors to be properly consumed.

When we create a proxy, we now create a zombie-state object to hold
information about the file descriptors in events it can receive. This
will allow us, in a future patch, to close those FDs.

[daniels: Split Derek's patch into a few smaller ones.]

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4485ed1f59cb8695f3ab690e074abd7e79a27640

Git commit 239ba39331420f953de35c337ae57db35573f9cb by Daniel Stone (on behalf of Derek Foreman) on 09/01/2018 at 15:20..
client: Consume file descriptors destined for zombie proxies

We need to close file descriptors sent to zombie proxies to avoid leaking
them, and perhaps more importantly, to prevent them from being dispatched
in events on other objects (since they would previously be left in the
buffer and potentially fed to following events destined for live proxies)

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/239ba39331420f953de35c337ae57db35573f9cb

Git commit f74c9b98db49ce16e037c3012590c4a24a4fc32e by Daniel Stone (on behalf of Derek Foreman) on 09/01/2018 at 15:20..
tests: Add a test for fd leaks on zombie objects

Until recently, if a client destroying a resource raced with the
server generating an event on that resource that delivered a file
descriptor, we would leak the fd.

This tests for a leaked fd from that race condition.

Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f74c9b98db49ce16e037c3012590c4a24a4fc32e

Git commit ff992951a7e6da0a8e54786ef7371ae420ce6c9c by Daniel Stone (on behalf of Derek Foreman) on 09/01/2018 at 15:20..
tests: Check for wrong fd delivery with zombie objects

Until recently, if an event attempting to deliver an fd to a zombie
object was demarshalled after the object was made into a zombie, we
leaked the fd and left it in the buffer.

If another event attempting to deliver an fd to a live object was in that
same buffer, the zombie's fd would be delivered instead.

This test recreates that situation.

While this is a ridiculously contrived way to force this race - delivering
an event from a destruction handler - I do have reports of this race
being hit in real world code.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Acked-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ff992951a7e6da0a8e54786ef7371ae420ce6c9c

Git commit 35ab47567cca5bafe80e193b9c6f134c78ef3871 by Derek Foreman (on behalf of Fiedler, Mathias) on 19/01/2018 at 17:05..
server: add log message when client connection is destroyed due to an error

The client connection is destroyed by the server in several
circumstances. This patch adds log messages in case the connection is
destroyed due to an error other than normal hangup.

Signed-off-by: Mathias Fiedler <mathias_fiedler at mentor.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/35ab47567cca5bafe80e193b9c6f134c78ef3871

Git commit 118aaec480a1153cccc81a38a69c1b6571d98b36 by Derek Foreman on 19/01/2018 at 17:54..
tests: Add missing file to distribution

In f74c9b98db49ce16e037c3012590c4a24a4fc32e I added tests.xml to the
repository, but not to the distribution tarball.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/118aaec480a1153cccc81a38a69c1b6571d98b36

Git commit e5b52f673c508a5f95c88c6cc99026cd2b762b5e by Daniel Stone (on behalf of Derek Foreman) on 22/01/2018 at 09:45..
connection: Clear correct args when clearing fds to -1

commit 52609ddf79a96fee0465006e2c6339a3a5d23a87 was intended to
set fds to -1 in the arg list, however it failed to account for
version information at the start of signatures.

Most noticably, this broke mesa's create_prime_buffer by setting
width to -1 instead of the fd, as the width was the argument
following the fd, and the version was one byte long.

This should close https://bugs.kde.org/show_bug.cgi?id=389200

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e5b52f673c508a5f95c88c6cc99026cd2b762b5e

Git commit ef48ff21f0468c428127d131b27cbddc627a83a6 by Pekka Paalanen (on behalf of Philipp Kerling) on 09/02/2018 at 08:06..
doc: Document behavior of non-nullable object arguments in clients

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ef48ff21f0468c428127d131b27cbddc627a83a6

Git commit bf7cc6805396af8df3b40e10c63de701346c93dd by Daniel Stone (on behalf of Simon Ser) on 09/02/2018 at 17:00..
server: add wl_display_destroy_clients()

Bug [1] reported that wl_display_destroy() doesn't destroy clients, so
client socket file descriptors are being kept open until the compositor
process exits.

Patch [2] proposed to destroy clients in wl_display_destroy(). The
patch was not accepted because doing so changes the ABI.

Thus, a new wl_display_destroy_clients() function is added in this
patch. It should be called by compositors right before
wl_display_destroy().

[1] https://bugs.freedesktop.org/show_bug.cgi?id=99142
[2] https://patchwork.freedesktop.org/patch/128832/

Signed-off-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bf7cc6805396af8df3b40e10c63de701346c93dd

Git commit 0fa3474be36be5fee98bebb169df68dcf806e3f3 by Daniel Stone (on behalf of Olivier Fourdan) on 09/02/2018 at 17:03..
shm: provide actual error on mmap failed

When an mmap() fails, a WL_SHM_ERROR_INVALID_FD is raised and the client
is killed.

However, there is no indication of the actual system error that caused
mmap() to fail, which makes such error harder to investigate.

Provide the actual error message that caused mmap() to fail.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0fa3474be36be5fee98bebb169df68dcf806e3f3

Git commit 549a5ea710f4da1a5749587176d39fef1ded4077 by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:30..
wayland-egl: import libwayland-egl.so frontend library from Mesa

Currently the client-facing libwayland-egl API is defined by a header
file shipped by Wayland, but the implementation is left to each vendor.

This can cause collisions when multiple implementations are installed on
the same system. Importing the implementation into Wayland with a stable
and versioned driver-facing ABI allows multiple drivers to coexist on
the same system.

Pull the sample implementation from Mesa commit 677edff5cfd
("wayland-egl: rework and simplify wl_egl_window initialization")
It has been used by the Mesa open source drivers, NVIDIA and others[1].

v2: Reword commit message, rebase on top of newer Mesa.

[1] https://github.com/thayama/wayland-egl

Cc: Miguel A. Vico <mvicomoya at nvidia.com>
Cc: James Jones <jajones at nvidia.com>
Cc: Daniel Stone <daniels at collabora.com>
Cc: duncan-roe <duncan_roe at optusnet.com.au>
Cc: Takanari Hayama <taki at igel.co.jp>
Suggested-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Miguel A Vico Moya <mvicomoya at nvidia.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/549a5ea710f4da1a5749587176d39fef1ded4077

Git commit d71e4ca501c54889c81526eba46fafa8f26d89a9 by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:30..
wayland-egl: reuse the existing WL_EXPORT macro

There's little point if redefining new one ourselves. Just reuse the one
that's already available.

Cc: Daniel Stone <daniels at collabora.com>
Suggested-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d71e4ca501c54889c81526eba46fafa8f26d89a9

Git commit 6c7f96e8fea04ae81296b6188fb1aca6cd0391aa by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:30..
wayland-egl: correct wayland-egl.pc description/version

Drop the "Mesa" part from the commit message and change the version to
17.4.0. The number bears references from its Mesa heritage.

Currently Mesa provides 17.2.x while 17.3.x should be the last version
that ships the library.

Some version numbers of wayland-egl.pc providers and users.
The latter is taken from Ubuntu 17.04.

Providers:
 - Mali: 7.10
 - Mesa: 17.2.2

Users:
 - retroarch: NA
 - qtwayland5: NA
 - mpv, libmpv1: 9.0
 - mesa-utils-extra: NA
 - weston, libweston-1-0: NA

 - libwaffle-1-0: 9.1
 - libsdl2-2.0-0: NA

 - libgstreamer-plugins-bad1.0-0: autotools 9.0, meson 1.0
 - libglfw3-wayland: NA

 - kwin-wayland, kwin-wayland-backend-wayland: NA?
 - glmark2-wayland, glmark2-es2-wayland: NA

 - libwebkit2gtk-4.0-37, libwebkit2gtk-4.0-37-gtk2, (webkit overall): NA
 - libgtk-3-0 (gtk overall): NA
 - libcogl20 (cogl overall): 1.0.0

v2: Bump the version to 17.4.0

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6c7f96e8fea04ae81296b6188fb1aca6cd0391aa

Git commit bf3f9e241315cec472a482b5625c537d41dae6ab by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:30..
wayland-egl: introduce wayland-egl-backend.pc

File will be installed alongside the backend header.

This way vendor implementations have enough information about the
interface and they can build their backend/driver library accordingly.

Cc: Miguel A. Vico <mvicomoya at nvidia.com>
Cc: James Jones <jajones at nvidia.com>
Cc: Daniel Stone <daniels at collabora.com>
Cc: duncan-roe <duncan_roe at optusnet.com.au>
Cc: Takanari Hayama <taki at igel.co.jp>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Miguel A Vico Moya <mvicomoya at nvidia.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bf3f9e241315cec472a482b5625c537d41dae6ab

Git commit 066113a4c8cc6837519beab711d22cf01997ff11 by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:30..
wayland-egl: add a note about keeping the backend version in sync

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/066113a4c8cc6837519beab711d22cf01997ff11

Git commit 1fcb4d1387e2a40ed8cd35b11a7788de52b9cdb9 by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:31..
build: wire-up wayland-egl

Wire-up the imported sources, test and pkg-config files.

v2:
 - Don't mangle with existing EXTRA_DIST list
 - Add the symbols check script to the `make check' target
 - Rename wayland-egl-{priv,backend}.h

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1fcb4d1387e2a40ed8cd35b11a7788de52b9cdb9

Git commit 85cb5ed64aa8246f4da93fc5b76dfc34096bf803 by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:31..
wayland-egl-symbols-check: pass the DSO name via the build system

The location of the file is build system specific so, keep it there.

Cc: Daniel Stone <daniels at collabora.com>
Suggested-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/85cb5ed64aa8246f4da93fc5b76dfc34096bf803

Git commit 8d8f2600ecd3b017cb93d34e037cdae27fcded59 by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:31..
wayland-egl: move the wayland-egl{, -core}.h headers to egl/

Now we have all the wayland-egl bits in a single place.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Arnaud Vrac <avrac at freebox.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8d8f2600ecd3b017cb93d34e037cdae27fcded59

Git commit 9fa60983b5799be62b9d88a4059f4d0038d7c80d by Daniel Stone (on behalf of Emil Velikov) on 09/02/2018 at 17:34..
wayland-egl: rename wl_egl_window::private to driver_private

private is a reserved keyword in C++. Thus if one is to have a backend
driver written in said language build will fail as below:

.../wayland-egl-backend.h:56:8: expected unqualified-id before ‘private’

Rename it to driver_private and update the test.

NOTE: version bump is not required since:
 - this is a pure API change, ABI is identical
 - hardware drivers already require [minor] changes to move to the
upstream wayland-egl-backend.h

Cc: Arnaud Vrac <rawoul at gmail.com>
Cc: Miguel A . Vico <mvicomoya at nvidia.com>
Suggested-by: Arnaud Vrac <rawoul at gmail.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Miguel A Vico Moya <mvicomoya at nvidia.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9fa60983b5799be62b9d88a4059f4d0038d7c80d

Git commit 68398ec2cec755651a4d97a134241427670a5f34 by Pekka Paalanen (on behalf of Derek Foreman) on 15/02/2018 at 07:26..
connection: Fix broken log message when demarshalling short closure

Like the similar wl_log() message further into this function that was
fixed in commit 2fc248dc2c877d02694db40aad52180d71373d5a this should
be printing the sender_id saved earlier instead of *p.

Since p is incremented during the loop it would not only print an
incorrect object id, it could read past the end of the array.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68398ec2cec755651a4d97a134241427670a5f34

Git commit 76a4e4251c4e5db7b87fe2240573115e09ba143f by Daniel Stone (on behalf of Emil Velikov) on 16/02/2018 at 14:41..
build: remove white space in -uninstalled.pc.in files

v2: Rebase, address wayland-client-uninstalled

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com> (v1)
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/76a4e4251c4e5db7b87fe2240573115e09ba143f

Git commit 9b76def674f0a0b99f5850cc800017fc4e03af7d by Pekka Paalanen (on behalf of Emil Velikov) on 22/02/2018 at 09:56..
scanner: introduce "public-code" and "private-code"

The options are used to indicate how the code will be used - will it be
public, as part of a DSO or private.

In nearly every instance, people want to use the latter. One noticeable
exception is the wayland libraries. They provide the base marshalling
protocol that everyone uses.

The option "code" was deprecated in favour of "public-code" with a
warning message produced to guide people.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9b76def674f0a0b99f5850cc800017fc4e03af7d

Git commit ab6b156920ced7dfac94e01cada216171b619891 by Pekka Paalanen (on behalf of Emil Velikov) on 22/02/2018 at 09:56..
build: use public-code when using the local wayland-scanner

The core wayland interfaces are public, via the libwayland-server and
libwayland-client DSOs. Hence use "public-code" cmdline option, instead
of the deprecated code".

As the host wayland-scanner may not know about the new option, use the
legacy "code".

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ab6b156920ced7dfac94e01cada216171b619891

Git commit bd92689382e5f401c6de26bdb8856cc3584f5c3a by Pekka Paalanen (on behalf of Emil Velikov) on 22/02/2018 at 09:56..
scanner: make use of __has_attribute()

A more generic way to evaluating various attributes, __has_attribute is
available with gcc, clang, even the Oracle/Sun compiler.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bd92689382e5f401c6de26bdb8856cc3584f5c3a

Git commit b02c4013e3c10d26c6afae675eec77a97c4c10ab by Pekka Paalanen (on behalf of Emil Velikov) on 22/02/2018 at 11:51..
tests: add code, public-code and private-code tests

First one is deprecated in favour of the second option.

The latter is newly introduced and annotates the generated symbols
accordingly.

v2: Don't introduce small-public-code.c - reuse small-code.c (Pekka)

Cc: Pekka Paalanen <ppaalanen at gmail.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b02c4013e3c10d26c6afae675eec77a97c4c10ab

Git commit 6903e4d5392563b36aabc8ebc69cb1a08dd2de0e by Daniel Stone (on behalf of Emil Velikov) on 23/02/2018 at 17:38..
wayland-egl: use correct `nm` path when cross-compiling

Inspired by Heiko Becker and Eric's work in libdrm and Mesa
respectively.

Cc: Eric Engestrom <eric.engestrom at imgtec.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6903e4d5392563b36aabc8ebc69cb1a08dd2de0e

Git commit e501230d1dc8a5015616e104ec0e08886a0b88df by Derek Foreman on 23/02/2018 at 22:41..
scanner: Fix broken private-code generation

Missing a closing bracket.

Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e501230d1dc8a5015616e104ec0e08886a0b88df

Git commit 400df40dfa8ec9095b0614a0be45dbea3f2a5895 by Derek Foreman (on behalf of Pekka Paalanen) on 26/02/2018 at 13:35..
tests: fix scanner private-code test reference data

Commit e501230d1dc8a5015616e104ec0e08886a0b88df "scanner: Fix broken
private-code generation" changed the scanner output without updating the
reference output for scanner tests.

Update the reference data. This fixes 'make check'.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/400df40dfa8ec9095b0614a0be45dbea3f2a5895

Git commit 97351f995c216eff33b02ade0bd63dd089c3af89 by Derek Foreman on 26/02/2018 at 17:37..
configure.ac: bump to version 1.14.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/97351f995c216eff33b02ade0bd63dd089c3af89

Git commit 1287f645003cbec986ffb470aed320cd34559c3b by Héctor Orón Martínez on 03/03/2018 at 22:13..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1287f645003cbec986ffb470aed320cd34559c3b

Git commit 56b92315977a80a25da59e7f1d9db4cfb0de22b4 by Héctor Orón Martínez (on behalf of Helmut Grohne) on 03/03/2018 at 22:49..
Use wayland-scanner from libwayland-bin

  Fixes cross builds (Closes: #836687)

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/56b92315977a80a25da59e7f1d9db4cfb0de22b4

Git commit 3c915f857b0d1c430c069ba9c808ac3764e6e5f0 by Héctor Orón Martínez on 03/03/2018 at 22:53..
debian/control: libwayland-dev suggests libwayland-doc

  (Closes: #857139)

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3c915f857b0d1c430c069ba9c808ac3764e6e5f0

Git commit 54534a295b840a12ab9a81779afd763cde2d483c by Héctor Orón Martínez on 04/03/2018 at 00:49..
debian/libwayland-server0.symbols: update

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/54534a295b840a12ab9a81779afd763cde2d483c

Git commit a9187853d44db41206b5d16a770d4db108972812 by Derek Foreman on 07/03/2018 at 15:21..
client: Don't inappropriatly close fds for zombie objects

commit 239ba39331420f953de35c337ae57db35573f9cb which was intended
to stop leaking fds in events for zombie objects didn't notice that
passing 0 to wl_connection_close_fds_in() would still close fds.

Test the fd count before calling.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a9187853d44db41206b5d16a770d4db108972812

Git commit adda7cbbb894139d5a35abba41c310a433f693b9 by Derek Foreman on 07/03/2018 at 19:38..
walyand-client: Fix trivial build break from previous commit

previous commit, a9187853d44db41206b5d16a770d4db108972812 added
a trailing { on a line it shouldn't have, and I pushed without
building first.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/adda7cbbb894139d5a35abba41c310a433f693b9

Git commit 5c947f3398b20f86cbab314e9264ffcdf41b3636 by Héctor Orón Martínez on 13/03/2018 at 14:56..
debian/control: drop priority extra

priority extra has been deprecated in favor of optional

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c947f3398b20f86cbab314e9264ffcdf41b3636

Git commit 10d039eab6c99cc01a2ae73ed8453246a643ad3d by Héctor Orón Martínez on 13/03/2018 at 15:05..
libwayland-egl1: add new package

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/10d039eab6c99cc01a2ae73ed8453246a643ad3d

Git commit be355cb9f11c9c319095d94eef738d59fd225900 by Héctor Orón Martínez on 13/03/2018 at 15:05..
debian/control: bump standards version

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be355cb9f11c9c319095d94eef738d59fd225900

Git commit ff95504047fc5234adfdad59b584aba9f3576faf by Héctor Orón Martínez on 13/03/2018 at 15:05..
debian/changelog: prepare upcoming release 1.14.91-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ff95504047fc5234adfdad59b584aba9f3576faf

Git commit a53bfc556a452b99f0e9a0cac2bc4a8fa7002681 by Héctor Orón Martínez on 13/03/2018 at 15:05..
Release Debian version wayland-1.14.91-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a53bfc556a452b99f0e9a0cac2bc4a8fa7002681

Git commit 371c26d52b992ed224062cb09e138d0c053b87ff by Pekka Paalanen on 15/03/2018 at 12:59..
tests: disable coredumps on sanity-test

SEGV and ABRT by default cause a core dump, which may create a file,
launch crash handlers, and so on. sanity-test has 21 processes that
are expected to crash like this. Disable core dumps on them all.

I counted 21 entries in coredumpctl list, while only 16 functions needed
patching. After this patch no entries appear in coredumpctl list.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/371c26d52b992ed224062cb09e138d0c053b87ff

Git commit f34af17b219f1eaa0d091a687124fbb8b7a3c81b by Pekka Paalanen (on behalf of Emil Velikov) on 16/03/2018 at 10:18..
configure.ac: don't install the static libraries

One should always be using the shared libraries.

Spotted while going through the Debian packaing.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f34af17b219f1eaa0d091a687124fbb8b7a3c81b

Git commit 79cc3ad6bd0d7c19b64def8b4e4fea0483993dc6 by Pekka Paalanen (on behalf of Emil Velikov) on 19/03/2018 at 09:39..
wayland-egl: set the correct path to libwayland-egl.so

Earlier commit changed to passing the binary name as env. variable
introducing a typo.

That went unnoticed, since we do not check if the file is present or
not.

Cc: Pukka Paalanen <ppaalanen at gmail.com>
Cc: Daniel Stone <daniels at collabora.com>
Fixes: 85cb5ed64aa ("wayland-egl-symbols-check: pass the DSO name via
the build system")
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/79cc3ad6bd0d7c19b64def8b4e4fea0483993dc6

Git commit 2ba70f1f6de52e207aad82680bd4f794d7b99e52 by Pekka Paalanen (on behalf of Emil Velikov) on 19/03/2018 at 09:40..
wayland-egl: fail the symbol check if lib is missing

Based on a similar patch (in Mesa) by Eric Engestrom.

v2: Rebase on top of $NM patch
v3: Rebase

Reviewed-by: Eric Engestrom <eric at engestrom.ch> (v1)
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2ba70f1f6de52e207aad82680bd4f794d7b99e52

Git commit 21b1f22eb056cd9a9c90555749f1744f07b38d3f by Pekka Paalanen (on behalf of Emil Velikov) on 19/03/2018 at 09:40..
wayland-egl: enhance the symbol test

The current test had a few fall-outs:
 - it was checking only for T (.text) symbols
 - did not consider symbol removal

Fix that by fetching all the symbols and doing a bidirectional check -
for added and removed symbols. Error out with informative message for
each case.

v2: Rebase on top of $NM patch.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/21b1f22eb056cd9a9c90555749f1744f07b38d3f

Git commit 5f5945b71b3139ee81b640821e431b16f1d00021 by Pekka Paalanen (on behalf of Emil Velikov) on 19/03/2018 at 09:40..
wayland-egl: bump the version number to 18.1.0

Seems like I was overoptimistic with my earlier assumption, namely:

"... 17.3.x should be the last version that ships the library."

Mesa 18.0.0 and its wayland-egl is about to be released any time soon,
so bump the number since it must no be smaller. As soon as we get
a wayland release I'll drop the Mesa copy but for now.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5f5945b71b3139ee81b640821e431b16f1d00021

Git commit 33a3903d2d3683d75ef03092293881e0903ab5e6 by Héctor Orón Martínez on 19/03/2018 at 14:43..
libwayland-dev: fix installability issues

Conflict against libegl1-mesa-dev which also ships wayland-egl.pc.
Pull in libwayland-egl1 with development package.

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/33a3903d2d3683d75ef03092293881e0903ab5e6

Git commit 2031bcf5daef57d1693b5e808fac2bb90affe5cb by Derek Foreman (on behalf of Daniel Stone) on 19/03/2018 at 16:39..
wayland-egl: Pass nm path to check script

A previous patch used $NM as an environment variable, but this was only
set as a make variable. Make sure it is passed through from make to the
environment we use to run tests.

v2: Quote argument when passing to shell.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reported-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Fixes: 6903e4d53925 ("wayland-egl: use correct `nm` path when cross-compiling")
Cc: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Quentin Glidic <sardemff7+git at sardemff7.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2031bcf5daef57d1693b5e808fac2bb90affe5cb

Git commit 3de11b8d798d657fb59e84792a44dbb027ab523f by Derek Foreman (on behalf of Daniel Stone) on 19/03/2018 at 16:44..
wayland-egl: Make symbol test fail on failure

The previous rewrite of the wayland-egl ABI checker introduced checks
for removed symbols as well as added symbols, but broke some failure
conditions. Add an explict return-code variable set in failure paths,
rather than chaining or conditions.

If we cannot find the binary or nm, we regard this as an error
condition, rather than test failure.

v2: Don't test if we can execute $NM.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reported-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Fixes: 21b1f22eb056 ("wayland-egl: enhance the symbol test")
Cc: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3de11b8d798d657fb59e84792a44dbb027ab523f

Git commit d3fe626219ee336d86f1bec980c5c09cce8d68c1 by Derek Foreman on 19/03/2018 at 20:39..
configure.ac: bump to version 1.14.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d3fe626219ee336d86f1bec980c5c09cce8d68c1

Git commit 936810fd9e6478e2677a36b603e0125bed8ffb7d by Timo Aaltonen on 20/03/2018 at 09:24..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/936810fd9e6478e2677a36b603e0125bed8ffb7d

Git commit 926832a7d6b9f2e4b77546b3d8f33f15137edb95 by Timo Aaltonen on 20/03/2018 at 09:25..
update the changelog
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/926832a7d6b9f2e4b77546b3d8f33f15137edb95

Git commit d8e3a50c5688fc636e642681183396e21071b082 by Timo Aaltonen on 20/03/2018 at 09:30..
signing-keys.asc: Updated.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d8e3a50c5688fc636e642681183396e21071b082

Git commit f8be511f0a5fc70d1c37db49c4d8580b9ebc41b3 by Timo Aaltonen on 20/03/2018 at 09:38..
libwayland-dev.install: Drop static libs, they're not provided anymore.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8be511f0a5fc70d1c37db49c4d8580b9ebc41b3

Git commit 4371b73846937b25b28ba3ed3230e71ad9cfa74b by Timo Aaltonen on 20/03/2018 at 09:38..
libwayland-egl1.symbols: Updated.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4371b73846937b25b28ba3ed3230e71ad9cfa74b

Git commit a8ed29fd14f71abf26f23e8db684ee97c1b5f1eb by Timo Aaltonen on 20/03/2018 at 10:05..
Adjust Breaks/Replaces for libwayland-egl migration.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a8ed29fd14f71abf26f23e8db684ee97c1b5f1eb

Git commit 05fd07f4277414ae39a0336ac04c94a58ef2aa96 by Derek Foreman (on behalf of Daniel Stone) on 20/03/2018 at 15:01..
wayland-egl: Ignore underscored symbols in ABI check

Rather than a hard-coded list of platform symbols, just ignore anything
prefaced with an underscore. This fixes breakage on ARM, which declares
several slightly different platform symbols to x86.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Fixes: 21b1f22eb056 ("wayland-egl: enhance the symbol test")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105620
Cc: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/05fd07f4277414ae39a0336ac04c94a58ef2aa96

Git commit cdfe7737ef8544c1097b09d93c9dc3d06dfca791 by Andreas Boll on 21/03/2018 at 19:27..
Update Breaks/Replaces for libwayland-egl migration.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cdfe7737ef8544c1097b09d93c9dc3d06dfca791

Git commit 3d03a3854a988dff922cba8674d2f488e112fd6d by Timo Aaltonen on 21/03/2018 at 19:44..
upload to experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3d03a3854a988dff922cba8674d2f488e112fd6d

Git commit dbcd4cd96e60a7d0fed3916aa6691a5aa681114b by Derek Foreman (on behalf of Emil Velikov) on 02/04/2018 at 16:01..
.gitignore: add wayland-egl-abi-check

Instruct git go ignore the file, in case we've done an in-tree build.

Cc: Derek Foreman <derekf at osg.samsung.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dbcd4cd96e60a7d0fed3916aa6691a5aa681114b

Git commit 8be9aa86a2fd0f00f842c4a700633f3521fa9704 by Derek Foreman on 02/04/2018 at 17:50..
configure.ac: bump to version 1.14.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8be9aa86a2fd0f00f842c4a700633f3521fa9704

Git commit c4d9cf1377aa88bd8b97644199ef378d62d20374 by Timo Aaltonen on 03/04/2018 at 07:41..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c4d9cf1377aa88bd8b97644199ef378d62d20374

Git commit 25c90e12415a20791b4f265b9ca41b359d2c0067 by Timo Aaltonen on 03/04/2018 at 07:53..
release to experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/25c90e12415a20791b4f265b9ca41b359d2c0067

Git commit 4fdb8530a3dfd43cdd88e89188a7eb468bf8d07c by Derek Foreman on 09/04/2018 at 16:54..
configure.ac: bump to version 1.15.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4fdb8530a3dfd43cdd88e89188a7eb468bf8d07c

Git commit e09c1a98f988d32f8b6fb06aa72da06c93897189 by Derek Foreman on 09/04/2018 at 18:15..
configure.ac: Reopen master for regular development
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e09c1a98f988d32f8b6fb06aa72da06c93897189

Git commit 955e8133322157cf47e0e459f9cc162eb3525fa8 by Timo Aaltonen on 11/04/2018 at 14:46..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/955e8133322157cf47e0e459f9cc162eb3525fa8

Git commit 5a141795ff42d67cf6e90581d8d55ec445a7f9e8 by Timo Aaltonen on 11/04/2018 at 14:48..
update the changelog
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5a141795ff42d67cf6e90581d8d55ec445a7f9e8

Git commit 59b3a3fc61fb96a7872eceb8eedfb32f2a06afb2 by Timo Aaltonen on 13/04/2018 at 10:18..
Put wayland-egl-backend.* to a separate dev-package.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/59b3a3fc61fb96a7872eceb8eedfb32f2a06afb2

Git commit fe24ae71566b82db8ec046d5bc5862acc376a32e by Timo Aaltonen on 13/04/2018 at 10:41..
libwayland-egl1.symbols: Fixed.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fe24ae71566b82db8ec046d5bc5862acc376a32e

Git commit a1652f55db9ccbfe427567ef196ff93dc365ed8a by Timo Aaltonen on 13/04/2018 at 11:16..
control: Bump Breaks/Replaces on libegl1-mesa-dev, so that this can be synced to Ubuntu.

and fix 59b3a3fc61fb96a which dropped the B/R from libwayland-dev..
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a1652f55db9ccbfe427567ef196ff93dc365ed8a

Git commit 571d27e2551b0c4b29feff279e116ba80b8aa80e by Timo Aaltonen on 18/04/2018 at 13:50..
add libwayland-egl-backend-dev.install..
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/571d27e2551b0c4b29feff279e116ba80b8aa80e

Git commit bcd3d3966f50d8b22ab4a59c694d8035bbd4fd00 by Timo Aaltonen on 18/04/2018 at 13:50..
release to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bcd3d3966f50d8b22ab4a59c694d8035bbd4fd00

Git commit 685f9a09097a7c598dd737eb83ea419f6a21b260 by Derek Foreman (on behalf of Dipen Somani) on 20/04/2018 at 18:05..
wayland-server: Properly handle EAGAIN from wl_connection_read()

commit 3cddb3c692acd3536a7cc8542a29f0cc3c0ac3d6 casted len to an
unsigned value to compare to sizeof results.  However,
wl_connection_read() can fail, setting errno to EAGAIN and returning
a value of -1.

When cast to an unsigned type this leads to a loop condition of true
when it should be false.

Signed-off-by: Dipen Somani <dipen.somani at samsung.com>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/685f9a09097a7c598dd737eb83ea419f6a21b260

Git commit 58ee271bff499b6b0d865fa0126990dc478bff24 by Derek Foreman on 20/04/2018 at 18:12..
tests: Test for use after free in resource destruction signals

For years it's been common practice to free the object containing
the wl_listener inside resource destruction notifiers, but not
remove the listener from the list.

That is: It's been safe to assume (when only one listener is present)
that the wl_listener will never be touched again, since this is
a destruction callback.

Recently some patches were reviewed that made some positive changes
to our internal signal handling code, but would've violated this
assumption, and changed free()d memory in several existing compositors
(weston, mutter, enlightenment).

Since the breakage was extremely subtle, codify this assumption in
a test case (thus promoting it to an ABI promise).

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Markus Ongyerth <wl at ongy.net>
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/58ee271bff499b6b0d865fa0126990dc478bff24

Git commit 5e0f7ad1bfcaadcc9cfaa1bd3fa78a1442b873a2 by Derek Foreman on 20/04/2018 at 18:19..
server: Add special case destroy signal emitter

In the past much code (weston, efl/enlightenment, mutter) has
freed structures containing wl_listeners from destroy handlers
without first removing the listener from the signal.  As the
destroy notifier only fires once, this has largely gone
unnoticed until recently.

Other code does not (Qt, wlroots) - and removes itself from
the signal before free.

If somehow a destroy signal is listened to by code from both
kinds of callers, those that free will corrupt the lists for
those that don't, and Bad Things will happen.

To avoid these bad things, remove every item from the signal list
during destroy emit, and put it in a list all its own.  This way
whether the listener is removed or not has no impact on the
following emits.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Markus Ongyerth <wl at ongy.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e0f7ad1bfcaadcc9cfaa1bd3fa78a1442b873a2

Git commit 0e6ac72288f884ba0321c285a65578492c706534 by Derek Foreman (on behalf of Markus Ongyerth) on 20/04/2018 at 18:19..
tests: Add free-without-remove test

[Derek Foreman <derekf at osg.samsung.com> moved this into resources-test]

Reviewed-by: Derek Foreman <derekf at osg.samsung.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0e6ac72288f884ba0321c285a65578492c706534

Git commit 00b5213281405d21a99b31edf2806de61763b95b by Emilio Pozuelo Monfort on 19/05/2018 at 10:19..
Add missing copyright holders
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/00b5213281405d21a99b31edf2806de61763b95b

Git commit 73807126c3cade4f647a85073de523e8865231d1 by Emilio Pozuelo Monfort on 19/05/2018 at 10:26..
Update Vcs-* for salsa
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/73807126c3cade4f647a85073de523e8865231d1

Git commit 8f7ebb6120e1cf0fd09530c2a7ca123c005b9393 by Emilio Pozuelo Monfort on 19/05/2018 at 10:34..
Release to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8f7ebb6120e1cf0fd09530c2a7ca123c005b9393

Git commit a060822399b8f38ca665b502c6fb4c204029c5e8 by Daniel Stone on 07/06/2018 at 07:48..
Add .gitlab-ci.yml

Add a GitLab CI configuration which tests building, 'make check', and
'make distcheck' of the tree inside a Debian Stretch container. The
choice of distribution base was arbitrary and may easily be changed.

When commits are pushed to upstream, the commits will run this CI
pipeline to run these tests, and capture the result as an artifact
bundle, including the compiled binaries and full test suite logs.

Results can be seen at:
    https://gitlab.freedesktop.org/wayland/wayland/pipelines/

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a060822399b8f38ca665b502c6fb4c204029c5e8

Git commit 8b2ba84bd0c152d3e6de8bd22b413a1ca6eb6630 by Pekka Paalanen (on behalf of Simon Ser) on 07/06/2018 at 08:52..
scanner: allow referencing foreign enums

It's already possible to reference foreign interfaces, so it
should also be possible to reference foreign enums.

Signed-off-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Silvan Jegen <s.jegen at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8b2ba84bd0c152d3e6de8bd22b413a1ca6eb6630

Git commit 7846d4beea05239f7188f8417e8f497203bf8641 by Pekka Paalanen (on behalf of Daniel Stone) on 11/06/2018 at 09:03..
doc: Update URLs for GitLab transition

Update bug and Git URLs for GitLab; the site has also been served over
HTTPS for quite some time.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7846d4beea05239f7188f8417e8f497203bf8641

Git commit d95cf312019bed4768a2e97ec73dc926eddc4dbe by Pekka Paalanen on 14/06/2018 at 11:39..
doc: move Contributing

Gitlab expects a CONTRIBUTING.md in the root directory, so move our
guide there.

Conversion to proper markup is a follow-up patch.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d95cf312019bed4768a2e97ec73dc926eddc4dbe

Git commit 630c25f4c1609c0be1c0cdfcb4a9d125ac8c2d14 by Pekka Paalanen on 14/06/2018 at 11:40..
contributing: format as markdown

Format for nice viewing through Gitlab.

Conduct and Licensing were raised to first level headings as they are
not technical guidelines for contributing patches. It's nice to use the
first level headings more.

Reformat patchwork link and add Xorg patchwork link for Xwayland.

v2: Unfortunately Gitlab harcodes a tab character to mean 4 spaces, so we
cannot reasonably spell the coding style examples correctly. Hence, tab
characters have been replaced with eight spaces so that they at least
look right in both the file and through gitlab web UI.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/630c25f4c1609c0be1c0cdfcb4a9d125ac8c2d14

Git commit 35d0425e39a6fa9d358ffff507c97a79fc112dc9 by Pekka Paalanen (on behalf of Emil Velikov) on 18/06/2018 at 09:17..
.gitlab-ci.yml: collect the distcheck error logs

Currently we issue both check and distcheck, as reportedly there has
been cases in the past one works, while the other doesn't.

Yet we only collect the check artefacts (test logs).

Correct that, by picking the distcheck ones as well.
Note: the build-*/wayland*/ directory is purged by distcheck if it runs
successfully.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/35d0425e39a6fa9d358ffff507c97a79fc112dc9

Git commit f16eae15e1862f8cf07450ab1587cb8190b7606e by Pekka Paalanen on 18/06/2018 at 13:04..
contributing: add review guidelines

This sets up the standards for patch review, and defines when a patch
can be merged. I believe these are the practises we have been using
already for a long time, now they are just written down explicitly.

It's not an exhaustive list of criteria and likely cannot ever be, but
it should give a good idea of what level of review we want to have.

It has been written in general terms, so that we can easily apply the
same text not just to Wayland, but also Weston and other projects as
necessary.

This addition is not redundant with
https://wayland.freedesktop.org/reviewing.html .

The web page is a friendly introduction and encouragement for people to
get involved. The guidelines here are more specific and aimed for people
who seek commit rights or maintainership.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Matheus Santana <embs at cin.ufpe.br>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f16eae15e1862f8cf07450ab1587cb8190b7606e

Git commit bb1a8ca91e7d99f54b43ece01674ccbd720ec4bd by Pekka Paalanen on 18/06/2018 at 13:15..
contributing: commit rights

This has been copied from
https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/tree/CONTRIBUTING?id=eccae1360d6d01e73c6af2bd97122cef708207ef
and slightly edited to better with Wayland and Weston.

The intention is to make it easier to give out commit access to new
people, let them know what is expected of them, and help the community
to grow. Hopefully this will in time improve the patch review throughput
and timeliness.

The original text was introduced in
https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/CONTRIBUTING?id=0350f0e7f6a0e07281445fc3082aa70419f4aac7

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Matheus Santana <embs at cin.ufpe.br>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bb1a8ca91e7d99f54b43ece01674ccbd720ec4bd

Git commit a9ff9cc7d591124413249a4d803188cd3f9165ca by Pekka Paalanen (on behalf of Simon Ser) on 28/06/2018 at 11:13..
doc: update IANA MIME types registry URL

Use a more official one, served over HTTP rather than FTP.

Reviewed-by: Matheus Santana <embs at cin.ufpe.br>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a9ff9cc7d591124413249a4d803188cd3f9165ca

Git commit 7cbaa871cccf0e07123185d5db8a35f7eee27f37 by Pekka Paalanen on 28/06/2018 at 11:35..
client: remove definition of wl_global

Nothing on the client side uses it since
9fe75537ad207c1496e6d9be41a8f5af4b876506 which was just before the 0.99
release.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-By: Markus Ongyerth <wl at ongy.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7cbaa871cccf0e07123185d5db8a35f7eee27f37

Git commit 7d7e03924f5e2159af55e3776bdbf31eaf4e1669 by Emilio Pozuelo Monfort on 09/07/2018 at 12:46..
Fix the watch file
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7d7e03924f5e2159af55e3776bdbf31eaf4e1669

Git commit b5f97895da4aae4ba87ae3aa7da36abb86dcb58c by Derek Foreman (on behalf of Pekka Paalanen) on 13/07/2018 at 16:17..
contributing: how to read the review rules

This is to avoid fighting around the letter of the guidelines. This is
not a protocol spec.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b5f97895da4aae4ba87ae3aa7da36abb86dcb58c

Git commit 3cfdd56af4444fce71d4ae8c8e515cec8eafb3e2 by Derek Foreman (on behalf of Pekka Paalanen) on 13/07/2018 at 16:19..
contributing: review rules for bugs

Half of the ideas came from Daniel but most of them are reworded, the
rest are my thoughts.

Mention compiler warnings specifically, and be more explicit on what
kind of code or bugs or bug fixes are acceptable or not. Clarify commit
scope.

v2: move the "In a patch series" rule to the bottom, reworded.

Cc: Daniel Stone <daniels at collabora.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3cfdd56af4444fce71d4ae8c8e515cec8eafb3e2

Git commit 9f80af930b76139fdb851708d70fa26ddf3ed09e by Derek Foreman (on behalf of Pekka Paalanen) on 13/07/2018 at 16:20..
contributing: about re-sending patches

This is what is generally expected from people who re-send patches,
whether the patches are their own or not.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9f80af930b76139fdb851708d70fa26ddf3ed09e

Git commit 14705824a61155a9b2366c1d982832f8c5a8366b by Derek Foreman (on behalf of Pekka Paalanen) on 13/07/2018 at 16:20..
contributing: document the release cycle freezes

These should be the conventions we have been using since 1.0, written
down more accurately.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/14705824a61155a9b2366c1d982832f8c5a8366b

Git commit 4cc1c1519a7001d1f9e4db8c9dea6fa191b88744 by Derek Foreman on 13/07/2018 at 16:27..
configure.ac: bump to version 1.15.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4cc1c1519a7001d1f9e4db8c9dea6fa191b88744

Git commit 15bbf03454cdb3b78265eac48c792adfcd1e860d by Salvatore Bonaccorso on 14/07/2018 at 07:12..
Add debian/changelog entry for 1.14.0-2

Closes: #903748
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/15bbf03454cdb3b78265eac48c792adfcd1e860d

Git commit 504db9d8e5d3a6de4abbbb0ae11a82fd81b3771f by Daniel Stone (on behalf of Simon Ser) on 24/07/2018 at 10:26..
protocol: allow to send a zero physical output size

Physical size doesn't always make sense for all outputs. In case
it's not available or not relevant, allow compositors to send zero.

Acked-by: Daniel Stone <daniels at collabora.com>
Acked-by: Jonas Ådahl <jadahl at gmail.com>
Acked-by: Olivier Fourdan <ofourdan at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/504db9d8e5d3a6de4abbbb0ae11a82fd81b3771f

Git commit e614d79b6534541c3c1d2e0000c90f74e62622fc by Derek Foreman on 25/07/2018 at 17:08..
wayland-server: Finally remove deprecated struct wl_buffer definition

commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe
warned this was coming, back in 2013.

I've seen libraries that have wayland client and server using functions
in the same file.  Since struct wl_buffer still exists as an opaque
entity in client code, the vestigial deprecated wl_buffer from the
server include will generate warnings when not building with
WL_HIDE_DEPRECATED.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
Acked-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e614d79b6534541c3c1d2e0000c90f74e62622fc

Git commit 99c3c10ad0e0a27a8c5d33d1e285e8b77fe0534b by Daniel Stone on 26/07/2018 at 15:21..
build: Remove execinfo.h check

The check for the execinfo.h header is only advisory; the build will not
fail if it is not present, and set HAVE_EXECINFO_H if it is. The check
was added in commit bc3e020475e ("build: Add declaration checks to check for
required syscall flags") with no obvious use or reasoning.

Remove the no-op check.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/99c3c10ad0e0a27a8c5d33d1e285e8b77fe0534b

Git commit bd56f9e29f16ca956b3e4d9658e32f1125db9d2d by Daniel Stone on 26/07/2018 at 15:23..
build: Remove support for non-pkg-config Expat

The Expat XML library has shipped a pkg-config file for long enough to
be in Debian's oldstable (Jessie, April 2015) and Ubuntu's oldest
supported LTS (Trusty, 14.04). The pkg-config file was added in Expat
upstream's commit 352cfc8f59a7, in September 2007.

Drop build support for versions of Expat which do not ship a
pkg-config file.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bd56f9e29f16ca956b3e4d9658e32f1125db9d2d

Git commit 614c137200a4f62658ea9144193661f7c5f38c1d by Derek Foreman (on behalf of Daniel Stone) on 27/07/2018 at 16:16..
spec: Delete old unused directory

The protocol spec used to live here, but it's now part of the regular
doc build. The PNG files are created as part of the doc build. Delete
the pre-generated versions.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/614c137200a4f62658ea9144193661f7c5f38c1d

Git commit 6ac3ff1c3fb99af77522853cd3687dca0773cc78 by Derek Foreman on 27/07/2018 at 16:46..
configure.ac: bump to version 1.15.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6ac3ff1c3fb99af77522853cd3687dca0773cc78

Git commit 1e4af929d2be8e1fd277100558a0ecc44e3fe6ed by Daniel Stone on 07/08/2018 at 13:35..
contributing: Weston now uses GitLab MRs

Note that Weston uses GitLab MRs for review, not mail.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1e4af929d2be8e1fd277100558a0ecc44e3fe6ed

Git commit fde60465c3b30c9bbcfdd67622ce5539709bac40 by Derek Foreman on 10/08/2018 at 18:01..
configure.ac: bump to version 1.15.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fde60465c3b30c9bbcfdd67622ce5539709bac40

Git commit f5b9e3b9a1df83ec3a6d219d7c28a1ac5bc0f339 by Derek Foreman (on behalf of Michal Srb) on 17/08/2018 at 15:57..
connection: Prevent integer overflow in DIV_ROUNDUP.

The DIV_ROUNDUP macro would overflow when trying to round values higher
than MAX_UINT32 - (a - 1). The result is 0 after the division. This is
potential security issue when demarshalling an array because the length
check is performed with the overflowed value, but then the original huge
value is stored for later use.

The issue was present only on 32bit platforms. The use of size_t in the
DIV_ROUNDUP macro already promoted everything to 64 bit size on 64 bit
systems.
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>

Style changes by Derek Foreman
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f5b9e3b9a1df83ec3a6d219d7c28a1ac5bc0f339

Git commit f7fdface41a9205c12aedf7fe04aba7792402909 by Derek Foreman (on behalf of Michal Srb) on 17/08/2018 at 15:59..
connection: Prevent pointer overflow from large lengths.

If the remote side sends sufficiently large `length` field, it will
overflow the `p` pointer. Technically it is undefined behavior, in
practice it makes `p < end`, so the length check passes. Attempts to
access the data later causes crashes.

This issue manifests only on 32bit systems, but the behavior is
undefined everywhere.
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f7fdface41a9205c12aedf7fe04aba7792402909

Git commit de3079685c320ac290bb1c5728db27e3bc829c90 by Derek Foreman on 17/08/2018 at 16:19..
configure.ac: bump to version 1.15.94 for the RC2 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de3079685c320ac290bb1c5728db27e3bc829c90

Git commit 581c62841f2215ee12a8d9af4e4c05d052c6a204 by Derek Foreman (on behalf of Michal Srb) on 24/08/2018 at 17:31..
tests: Demarshalling of very long array/string lengths.

Attempting to demarshal message with array or string longer than its
body should return failure. Handling the length correctly is tricky when
it gets to near-UINT32_MAX values. Unexpected overflows can cause
crashes and other security issues.

These tests verify that demarshalling such message gives failure instead
of crash.

v2: Added consts, serialized opcode and size properly, updated style.
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/581c62841f2215ee12a8d9af4e4c05d052c6a204

Git commit 254bef7b4a32b52346bdcdf4b8a432b582a9ddb4 by Derek Foreman on 24/08/2018 at 17:39..
configure.ac: bump to version 1.16.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/254bef7b4a32b52346bdcdf4b8a432b582a9ddb4

Git commit f1d10fb6092c772a7c5ac192890a8d2bbe695a5f by Derek Foreman on 24/08/2018 at 18:41..
configure.ac: Reopen master for regular development
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f1d10fb6092c772a7c5ac192890a8d2bbe695a5f

Git commit a2ed67e85c386413979ab30bf5ec48dc19fcf99e by Daniel Stone on 29/08/2018 at 08:56..
scanner: Plug two memory leaks

Found with both ASan leak sanitizer and Valgrind. We were trivially
leaking the enum name for every arg parsed by the scanner which had one.
If libxml-based DTD validation was enabled, we would also leak the DTD
itself, despite diligently freeing the document, context, etc.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a2ed67e85c386413979ab30bf5ec48dc19fcf99e

Git commit 5fab243a729c949d38463c47040ea6abec8d7850 by Daniel Stone on 29/08/2018 at 08:56..
scanner: Mark fail() as noreturn

Help static analysers by letting them know that once we fail(),
execution will terminally complete.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5fab243a729c949d38463c47040ea6abec8d7850

Git commit 4939923d3a8487f6644b1feb657693d8f929297b by Daniel Stone on 29/08/2018 at 08:58..
scanner: Reverse expat/libxml include order

libxml2 unconditonally defines XMLCALL to nothing. Expat does not
redefine XMLCALL if it is already defined, but if it is not, and we are
building with gcc on i386 (not x86-64), it will define it as 'cdecl'.

Including Expat before libxml thus results in a warning about XMLCALL
being redefined. Luckily we can get around this by just reversing the
include order: cdecl is a no-op on Unix-like systems, so by having
libxml first define XMLCALL to nothing and including Expat afterwards,
we avoid the warning and lose nothing.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4939923d3a8487f6644b1feb657693d8f929297b

Git commit 9575d1c772378df73cd421997b70d4a880575911 by Daniel Stone on 29/08/2018 at 08:59..
tests: Use volatile pointer for NULL dereference

Clang warns that it can silently discard a non-volatile write to a NULL
pointer (perhaps it constitutes undefined behaviour?), and recommends
changing it to volatile.

This patch slavishly complies with the demand of the unfeeling machine.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9575d1c772378df73cd421997b70d4a880575911

Git commit cb9a2557e11f294256943f5b4187940d7234820c by Daniel Stone on 29/08/2018 at 08:59..
tests: Overly elaborate compiler warning workaround

Clang will rightly point out that example_sockaddr_un in socket-test
will get discarded from the compilation unit as it is completely unused.
Put in a couple of lines which of no value other than stopping Clang
from complaining.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cb9a2557e11f294256943f5b4187940d7234820c

Git commit 01095a9ce4d8457ee2f221848b9805c4b5cffc95 by Daniel Stone on 29/08/2018 at 08:59..
tests: Remove memory leak checking infrastructure

There are far better ways to detect memory leaks, such as either
valgrind or ASan. Having Meson makes it really easy to use these tools
in our tests, and we can do that in CI as well.

Having these local wrappers actually completely broke ASan usage, so
remove them in favour of using the more powerful options.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/01095a9ce4d8457ee2f221848b9805c4b5cffc95

Git commit 1199728dd8abcd3d8b02690d18aa778372cc631a by Timo Aaltonen on 05/09/2018 at 17:16..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1199728dd8abcd3d8b02690d18aa778372cc631a

Git commit 791fa78567be2c8e8d13b1f2644e166ec262c935 by Timo Aaltonen on 05/09/2018 at 17:16..
bump the release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/791fa78567be2c8e8d13b1f2644e166ec262c935

Git commit 7abea17ae396b6a653c213800bd3028b99ac29d0 by Timo Aaltonen on 05/09/2018 at 17:20..
upload to unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7abea17ae396b6a653c213800bd3028b99ac29d0

Git commit 61d49852e561eadba051f595ff9595d2aa17349b by Timo Aaltonen on 06/09/2018 at 13:02..
control: Bump breaks/replaces on libwayland-egl-mesa/libegl1-mesa- dev, which got updated on Ubuntu.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/61d49852e561eadba051f595ff9595d2aa17349b

Git commit 905c0a341ddf0a885811d19e2b79c65a3f1d210c by Derek Foreman on 30/11/2018 at 15:17..
protocol: Bump seat to version 7 and require keymaps be private

Weston commit 76829fc4eaea329d2a525c3978271e13bd76c078 (and similar
commits for other compositors) protects the compositor's keyboard
mapping from client damage by duplicating the keymap for every
client.

On some systems there are other potential fixes for this - such as
using sealed memfds on linux - but we can't use them since
essentially all client code anywhere has mapped the keyboard map
with a MAP_SHARED mmap() call.

While we can't break years worth of code, we can require any future
clients to use MAP_PRIVATE if they use a seat version above 6.

If a compositor can't use sealing or a similar facility, it should
still protect itself with copied keymaps, but clients must always
assume shared mapping of a keymap will fail.

Signed-off-by: Derek Foreman <derek.foreman.samsung at gmail.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Philipp Kerling <pkerling at casix.org>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/905c0a341ddf0a885811d19e2b79c65a3f1d210c

Git commit 921d0548035673a1bf6aeb9396b9bc728133411e by Derek Foreman (on behalf of Simon Ser) on 30/11/2018 at 15:25..
protocol: prefer wl_surface.damage_buffer

This commit makes wl_surface.damage_buffer preferred over wl_surface.damage.
wl_surface.damage can be implemented in a non-optimal way by the compositor
(e.g. by always damaging the whole buffer).

Having two requests makes it complicated for the compositor to handle damage,
making it necessary to transform one into the other's coordinates.

Moreover, integration with wp_viewporter is tricky.

Signed-off-by: Simon Ser <contact at emersion.fr>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Derek Foreman <derek.foreman.samsung at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/921d0548035673a1bf6aeb9396b9bc728133411e

Git commit 10c1f37a7c75a2b9a9702e0646bf2865ed88e147 by Pekka Paalanen (on behalf of Christopher James Halse Rogers) on 29/01/2019 at 13:58..
server: Split out varargs version of wl_resource_post_error.

This will allow other wrappers around wl_resource_post_error to accept
variable argument lists.

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/10c1f37a7c75a2b9a9702e0646bf2865ed88e147

Git commit d325140289d5767cdef5fc31f7d89b451c1066aa by Pekka Paalanen (on behalf of Christopher James Halse Rogers) on 29/01/2019 at 13:58..
proto, server: Add internal server error message. (v2)

Many languages such as C++ or Rust have an unwinding error-reporting
mechanism. Code in these languages can (and must!) wrap request handling
callbacks in unwind guards to avoid undefined behaviour.

As a consequence such code will detect internal server errors, but have
no way to communicate such failures to the client.

This adds a WL_DISPLAY_ERROR_IMPLEMENTATION error to wl_display so that
such code can notify (and disconnect) clients which hit internal bugs.
While servers can currently abuse other wl_display errors for the same
effect, adding an explicit error code allows clients to tell the
difference between errors which are their fault and errors which are the
server's fault. This is particularly interesting for automated bug
reporting.

v2: Rename error from "internal" to "implementation", in sympathy with
    X11's BadImplementation error.
    Add more justification in the commit message.

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d325140289d5767cdef5fc31f7d89b451c1066aa

Git commit 6afb152122f242d39c886bffa02c55d764e20fe8 by Pekka Paalanen (on behalf of Simon Ser) on 30/01/2019 at 13:49..
Print NULL strings as "nil" in wl_closure_print

Calling printf("%s", NULL) is undefined behaviour.

Signed-off-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6afb152122f242d39c886bffa02c55d764e20fe8

Git commit d7b0b7922eb956d4bda5c102495da95e505d549b by Pekka Paalanen (on behalf of Eric Engestrom) on 05/02/2019 at 13:04..
TODO: remove "SDL port", it's been done by now

Upstream SDL supports Wayland since v2.0.4 (June 2015):
https://forums.libsdl.org/viewtopic.php?t=11294

Just set SDL_VIDEODRIVER=wayland and SDL will do the right thing :)

Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d7b0b7922eb956d4bda5c102495da95e505d549b

Git commit a94b77d0a65943232abd48128b17227a8c5e1ddc by Derek Foreman on 19/02/2019 at 19:32..
configure.ac: bump version to 1.16.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a94b77d0a65943232abd48128b17227a8c5e1ddc

Git commit 8c121e10178070f23a06c438a292703fe76d5c06 by Derek Foreman (on behalf of Simon Ser) on 20/02/2019 at 16:07..
protocol: warn clients about some wl_output properties

All wl_output properties don't always make sense for all
compositors.

Some compositors might not implement a "global compositor space",
(e.g. 3D compositors) in which case properties like x and y don't
make sense.

Some compositors might expose virtual outputs, in which case modes,
make and model are not relevant.

In a lot of these situations, information from xdg_output is better
suited.

Compositors also expose output refresh rate, which shouldn't be used
for synchronization purposes.

Signed-off-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Derek Foreman <derek.foreman.wayland at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8c121e10178070f23a06c438a292703fe76d5c06

Git commit c70fd8a812d74b5ef6fcba1287b409f4f8821e91 by Pekka Paalanen (on behalf of Leonid Bobrov via wayland-devel) on 25/02/2019 at 11:00..
tests: fix main symbol duplication

So far I got these errors before patching:

libtool: link: cc -o .libs/headers-test -pthread -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -O2 -pipe tests/headers-test.o tests/headers-protocol-test.o tests/headers-protocol-core-test.o /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a -L.libs -lwayland-client -lffi -lm -lwayland-server -lkvm -Wl,-rpath-link,/usr/local/lib
ld: error: duplicate symbol: main
>>> defined at headers-test.c:53 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/headers-test.c:53)
>>>            tests/headers-test.o:(main)
>>> defined at test-runner.c:377 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/test-runner.c:377)
>>>            test-runner.o:(.text+0x250) in archive /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a

libtool: link: cc -o .libs/exec-fd-leak-checker -pthread -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -O2 -pipe tests/exec-fd-leak-checker.o /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a -L.libs -lwayland-client -lffi -lm -lwayland-server -lkvm -Wl,-rpath-link,/usr/local/lib
ld: error: duplicate symbol: main
>>> defined at exec-fd-leak-checker.c:57 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/exec-fd-leak-checker.c:57)
>>>            tests/exec-fd-leak-checker.o:(main)
>>> defined at test-runner.c:377 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/test-runner.c:377)
>>>            test-runner.o:(.text+0x250) in archive /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a

Makefile.am: error: object 'tests/test-helpers.$(OBJEXT)' created both with libtool and without

libtool: link: cc -o .libs/fixed-benchmark -pthread -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -O2 -pipe tests/fixed-benchmark.o /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a -L.libs -lwayland-client -lffi -lm -lwayland-server -lkvm -Wl,-rpath-link,/usr/local/lib
ld: error: duplicate symbol: main
>>> defined at fixed-benchmark.c:100 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/fixed-benchmark.c:100)
>>>            tests/fixed-benchmark.o:(main)
>>> defined at test-runner.c:377 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/test-runner.c:377)
>>>            test-runner.o:(.text+0x250) in archive /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a

This commit fixes all of that.

Signed-off-by: Leonid Bobrov <mazocomp at disroot.org>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c70fd8a812d74b5ef6fcba1287b409f4f8821e91

Git commit 75bd70c0b335a8bbbbb030e5be1557a4bc02a86d by Derek Foreman on 05/03/2019 at 23:22..
configure.ac: bump to version 1.16.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/75bd70c0b335a8bbbbb030e5be1557a4bc02a86d

Git commit 15cba8b07499feb43ee56510b3761d8ddabda45a by Pekka Paalanen (on behalf of Chris Billington) on 07/03/2019 at 09:33..
wayland-util.h: add forward declaration for wl_object

The definition of wl_argument in wayland-util.h references wl_object,
so wl_object ought to be defined in wayland-util.h. This resolves
gitlab issue #78.

Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/78

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/15cba8b07499feb43ee56510b3761d8ddabda45a

Git commit 808bca896563fbf4d3d613f0748c898415c852f4 by Pekka Paalanen on 07/03/2019 at 12:35..
contributing: use Gitlab merge request workflow

The experience from Weston shows that the Gitlab merge request based workflow
works really well. Recently there have also been issues with the mailing list
that have made the email based workflow more painful than it used to be. Those
issues might have been temporary or occasional, but they probably are only
going to increase.

The MR workflow is different, it has its issues
(https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/74) and we
likely lose the explicit Reviewed-by etc. tags from commit messages, but it is
also much easier to work with: no more whitespace damaged patches, lost email,
setting up git-send-email; we gain automated CI before any human reviewer even
looks at anything, and people can jump in to an ongoing discussion even if they
weren't subscribed before.

If you still want email, you can subscribe to that selectively(!) in Gitlab
yourself.

This text has been copied from Weston's CONTRIBUTING.md of the 5.0.91 release
and slightly altered for Wayland.

Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/49

v2: fixed two left-over mentions of Weston

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
v1 Reviewed-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Scott Anderson <scott.anderson at collabora.com>
Acked-by: Ian Ray <ian.ray at ge.com>
Acked-by: Derek Foreman <derek.foreman.wayland at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/808bca896563fbf4d3d613f0748c898415c852f4

Git commit 446047edf2da8b3ce899f28253f14dff18d9f4d7 by Pekka Paalanen on 13/03/2019 at 10:39..
tests: add request_bogus_size

This attempts to reproduce the error conditions from
https://gitlab.freedesktop.org/wayland/wayland/issues/52 and make it crash.
While the crash was repeatable in my tests, it depends on garbage on stack
leading to access of invalid memory, which is not guaranteed.

This is a FAIL_TEST, so that the following fix commit can be verified.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/446047edf2da8b3ce899f28253f14dff18d9f4d7

Git commit bace3cd819798571189671b68590adff3fd40997 by Pekka Paalanen on 13/03/2019 at 10:39..
connection: fix demarshal of invalid header

The size argument to wl_connection_demarshal() is taken from the message by the
caller wl_client_connection_data(), therefore 'size' is untrusted data
controllable by a Wayland client. The size should always be at least the header
size, otherwise the header is invalid.

If the size is smaller than header size, it leads to reading past the end of
allocated memory. Furthermore if size is zero, wl_closure_init() changes
behaviour and leaves num_arrays uninitialized, leading to access of arbitrary
memory.

Check that 'size' fits at least the header. The space for arguments is already
properly checked.

This makes the request_bogus_size test free of errors under Valgrind.

Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/52

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bace3cd819798571189671b68590adff3fd40997

Git commit 5935332a421fe4d71dc50c0b73fbd0d6d1d49cdc by Derek Foreman on 13/03/2019 at 12:18..
Merge branch 'mr/request-bad-size' into 'master'

Fix demarshal of invalid size in message header

Closes #52

See merge request wayland/wayland!2
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5935332a421fe4d71dc50c0b73fbd0d6d1d49cdc

Git commit cbdfa87ce3223c10355b7c3869c0e42cf2e125e3 by Derek Foreman on 14/03/2019 at 02:27..
configure.ac: bump version to 1.16.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cbdfa87ce3223c10355b7c3869c0e42cf2e125e3

Git commit e091839dd08354289e501a47219e0c7a6472dff3 by Derek Foreman on 21/03/2019 at 00:54..
configure.ac: bump to version 1.17.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e091839dd08354289e501a47219e0c7a6472dff3

Git commit dd3ba21457648db411d14b5b308e6a93aa401a4e by Daniel Stone (on behalf of Leonid Bobrov) on 06/04/2019 at 19:53..
configure: detect libdl and librt

Signed-off-by: Leonid Bobrov <mazocomp at disroot.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dd3ba21457648db411d14b5b308e6a93aa401a4e

Git commit ca5a59ec4cd7e88636d650b47ae4b976f3e47b6a by Pekka Paalanen on 08/04/2019 at 07:26..
configure.ac: reopen master for regular development

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ca5a59ec4cd7e88636d650b47ae4b976f3e47b6a

Git commit b8933d468894b75e5c17681ff4ea533f213bbe28 by Simon Ser on 11/04/2019 at 16:53..
Add releasing.txt

This file is imported from Weston (commit 53d7c243).

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b8933d468894b75e5c17681ff4ea533f213bbe28

Git commit 724bf08e2fd0d4a9ca769d3f7a47e54f8ed021a1 by Simon Ser on 11/04/2019 at 16:53..
releasing: adapt for Wayland

Remove Weston-specific bits, strip off outdated instructions.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/724bf08e2fd0d4a9ca769d3f7a47e54f8ed021a1

Git commit de64489b95f8bfefe3b19c7446b55914ea59e17c by Simon Ser on 12/04/2019 at 08:31..
releasing: fixup section numbers

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de64489b95f8bfefe3b19c7446b55914ea59e17c

Git commit b77cf862909f5cc2a4b20f0f92c586a1f135dd92 by Harish Krupo on 19/04/2019 at 14:04..
docs: Abort configure if docbook-xsl package is missing

The docbook-xsl package includes all the stylesheets required to build
the docs without internet access.

Test:
One way to emulate missing style sheets is to move /etc/xml/catalog file
to a different location. Doing so should cause configure to fail with
"checking for docbook stylesheets... no"

v2: add AC_MSG_RESULT (Pekka)

Signed-off-by: Harish Krupo <harishkrupo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b77cf862909f5cc2a4b20f0f92c586a1f135dd92

Git commit ea11878d00493b76f3bf4d6cf66ceef351c0a032 by Harish Krupo on 19/04/2019 at 16:32..
wayland.xml: document invalid_finish error in wl_data_offer.finish

Explicitly state that the invalid_finish protocol error would be raised
when wl_data_offer.finish request is sent for non drag-and-drop
operations.

Signed-off-by: Harish Krupo <harishkrupo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ea11878d00493b76f3bf4d6cf66ceef351c0a032

Git commit 3ab56ef8fa5aa64c07ad10fbaeb09b0c3b708ccf by Daniel Stone (on behalf of Simon Ser) on 27/04/2019 at 21:44..
protocol: allow to send a zero output refresh rate

Fixed refresh rate doesn't always make sense for all outputs. In case
it's not available or not relevant, allow compositors to send zero.

For instance the can be the case for virtual outputs.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3ab56ef8fa5aa64c07ad10fbaeb09b0c3b708ccf

Git commit 6ce4bbb3dd86f8526331aa42916a120e39069bf1 by Simon Ser (on behalf of Manuel Stoeckl) on 02/05/2019 at 17:42..
scanner: error when element names will not compile

This change checks that the "name" fields of the various structures in
a Wayland protocol XML file will be converted into C identifiers that
can be successfully compiled.

For names which will be inserted as the prefix of an identifier
enforce a match with [_a-zA-Z][_0-9a-zA-Z]* . For types only inserted
as the suffix of an identifier (enum, entry), enforce a format of
[_0-9a-zA-Z]+ .

Unicode characters (and escape sequences like \u0394) are not allowed,
because most older and some newer C compilers do not support them by
default.

For sake of simplicity, this patch does not check for collisions
with reserved words or standard library names.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6ce4bbb3dd86f8526331aa42916a120e39069bf1

Git commit 6db761d16229084e576848967402d30b656e2dbf by Simon Ser (on behalf of Manuel Stoeckl) on 02/05/2019 at 17:42..
tests: Verify that wayland_scanner can catch bad identifiers

The test runs wayland_scanner on a set of XML protocol files which
have malformed element names, and confirms that an error is produced
and indicates the correct line.

Copyright notifications are not included in the test files, as
they are not code; of course, the project license still applies.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6db761d16229084e576848967402d30b656e2dbf

Git commit 294ed97e646a41b7749cd67e240138fcab5bdc5a by Antonio Borneo on 02/05/2019 at 20:14..
log: remove "%m" from format strings by using strerror(errno)

The printf() format specifier "%m" is a glibc extension to print
the string returned by strerror(errno). While supported by other
libraries (e.g. uClibc and musl), it is not widely portable.

In Wayland code the format string is often passed to a logging
function that calls other syscalls before the conversion of "%m"
takes place. If one of such syscall modifies the value in errno,
the conversion of "%m" will incorrectly report the error string
corresponding to the new value of errno.

Remove all the occurrences of the specifier "%m" in Wayland code
by using directly the string returned by strerror(errno).

Signed-off-by: Antonio Borneo <borneo.antonio at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/294ed97e646a41b7749cd67e240138fcab5bdc5a

Git commit 2485a5c2749f636371b91c3f71c74d2d223d0020 by orbea on 31/05/2019 at 15:38..
Add a missing -pthread to fix compile with slibtool.

When compiling wayland with slibtool instead of GNU libtool
it will fail building libtest_runner with an undefined
reference to pthread_join@@GLIBC_2.2.5. This is because
-pthread (Or -lpthread) is missing from display_test. If its
added the build succeeds as expected with slibtool and
continues to work with libtool. Its likely that libtool is
hiding this failure by silently adding the missing flag which
is not uncommon...

Exposed in commit aa51a833eb9b3d8fb58a64ff685b249d65ec35b5.

Fixes https://gitlab.freedesktop.org/wayland/wayland/issues/91

Signed-off-by: orbea <orbea at riseup.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2485a5c2749f636371b91c3f71c74d2d223d0020

Git commit 55d044810ca32ae24499d2c6aee6084d7e31d576 by Simon Ser (on behalf of Michael Forney) on 05/06/2019 at 09:58..
Use wl_container_of internally

Rather than have two versions of the macro with slightly different
interfaces, just use wl_container_of internally.

This also removes use of statement expressions, a GNU C extension.

Signed-off-by: Michael Forney <mforney at mforney.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/55d044810ca32ae24499d2c6aee6084d7e31d576

Git commit 678c8681e28739da1fea667ae59118cfc0968497 by Simon Ser (on behalf of Michael Forney) on 05/06/2019 at 10:01..
Avoid pointer arithmetic on `void *`

The pointer operand to the binary `+` operator must be to a complete
object type. Since we are working with byte sizes, use `char *` for
arithmetic instead.

Signed-off-by: Michael Forney <mforney at mforney.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/678c8681e28739da1fea667ae59118cfc0968497

Git commit 6dbf9f72b686f741d0b210d97813f400ca762475 by Manuel Stoeckl on 05/07/2019 at 23:42..
protocol: clarify wl_display.delete_id description

libwayland-server only sends wl_display.delete_id events when
it responds to a client's destruction of a client-allocated
object. server-allocated objects are silently removed, as per
`wl_resource_destroy`.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6dbf9f72b686f741d0b210d97813f400ca762475

Git commit a281783339f7be4d5b6a65c2ba0a6d70ed6d0f1d by Simon Ser (on behalf of Scott Anderson) on 09/07/2019 at 17:26..
wayland.xml: Make releases for multiple 'wl_surface.attach' undefined

Fixes #46

The way wl_buffer is specified makes this situation inherently racy,
meaning there is no way this can be done unambiguously. Current real
compositor implementations already have differing behaviour for this, so
any client relying on it was already broken, if any such client exists.

This specifically only singles out wl_buffer.release as being undefined;
every other aspect of it should still be valid. This is so existing and
correct uses of multiple attaches are still valid, where a
"static"/immutable wl_buffer is being used (i.e. they don't care about
the release event).

Signed-off-by: Scott Anderson <scott.anderson at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a281783339f7be4d5b6a65c2ba0a6d70ed6d0f1d

Git commit 9d63c9ff84af8187b947c5eabb98b87421bce7f9 by Simon Ser (on behalf of Manuel Stoeckl) on 09/07/2019 at 17:30..
connection: do not abort when dup(fd) fails

Instead, cleanly exit wl_closure_marshal and let the caller handler
the error. For wayland-client, the sole calling function will call
wl_abort() anyway. For wayland-server, the calling function will
cleanly shutdown the client.

This change ensures that compositors run with low file descriptor
limits or internal leaks need not crash suddenly (and sometimes
far from the problem) when space runs out.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9d63c9ff84af8187b947c5eabb98b87421bce7f9

Git commit 6908c8c85a2e33e5654f64a55cd4f847bf385cae by Simon Ser (on behalf of Emmanuel Gil Peyrot) on 21/07/2019 at 09:06..
cursor: Use memfd_create() when available

This (so-far) Linux-only API lets users create file descriptors purely
in memory, without any backing file on the filesystem and the race
condition which could ensue when unlink()ing it.

It also allows seals to be placed on the file, ensuring to every other
process that we won’t be allowed to shrink the contents, potentially
causing a SIGBUS when they try reading it.

This patch is best viewed with the -w option of git log -p.

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6908c8c85a2e33e5654f64a55cd4f847bf385cae

Git commit 0abc9f7e92f2c043527a50d3da0ae2b86fc46016 by Héctor Orón Martínez on 21/07/2019 at 18:05..
debian/README.source: add upstream remote information

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0abc9f7e92f2c043527a50d3da0ae2b86fc46016

Git commit a203961a6df1cc5bfd5fbafbeadd1af64bad8f9b by Héctor Orón Martínez on 21/07/2019 at 18:07..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a203961a6df1cc5bfd5fbafbeadd1af64bad8f9b

Git commit 7fe047c4605e7f61cbba620319f07eaafbd3ee9f by Héctor Orón Martínez on 21/07/2019 at 18:29..
debian/libwayland-server0.symbols: update symbols file

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7fe047c4605e7f61cbba620319f07eaafbd3ee9f

Git commit 734e95a9c6ccb52276bae2d6c64047306a6fbcd0 by Héctor Orón Martínez on 21/07/2019 at 18:30..
Release Debian release wayland-1.17.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/734e95a9c6ccb52276bae2d6c64047306a6fbcd0

Git commit 493ab79bd2cdf8f9f12fb9e5522200dc668b85e0 by Pekka Paalanen (on behalf of Jonas Ådahl) on 29/07/2019 at 16:47..
proxy: Add API to tag proxy objects

When an application and a toolkit share the same Wayland connection,
it will receive events with each others objects. For example if the
toolkit manages a set of surfaces, and the application another set, if
both the toolkit and application listen to pointer focus events,
they'll receive focus events for each others surfaces.

In order for the toolkit and application layers to identify whether a
surface is managed by itself or not, it cannot only rely on retrieving
the proxy user data, without going through all it's own proxy objects
finding whether it's one of them.

By adding the ability to "tag" a proxy object, the toolkit and
application can use the tag to identify what the user data pointer
points to something known.

To create a tag, the recommended way is to define a statically allocated
constant char array containing some descriptive string. The tag will be
the pointer to the non-const pointer to the beginning of the array.

For example, to identify whether a focus event is for a surface managed
by the code in question:

	static const char *my_tag = "my tag";

	static void
	pointer_enter(void *data,
		      struct wl_pointer *wl_pointer,
		      uint32_t serial,
		      struct wl_surface *surface,
		      wl_fixed_t surface_x,
		      wl_fixed_t surface_y)
	{
		struct window *window;
		const char * const *tag;

		tag = wl_proxy_get_tag((struct wl_proxy *) surface);

		if (tag != &my_tag)
			return;

		window = wl_surface_get_user_data(surface);

		...
	}

	...

	static void
	init_window_surface(struct window *window)
	{
		struct wl_surface *surface;

		surface = wl_compositor_create_surface(compositor);
		wl_surface_set_user_data(surface, window);
		wl_proxy_set_tag((struct wl_proxy *) surface,
				 &my_tag);
	}

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/493ab79bd2cdf8f9f12fb9e5522200dc668b85e0

Git commit a2f1343b7e7c8f0a548b13a3424b7660a9ec0000 by Drew DeVault on 30/07/2019 at 11:32..
Document unusual wl_registry.bind new_id behavior

When wayland-scanner encounters a new_id field with no corresponding
interface name defined, instead of emitting a function whose signature
lines up with the usual case (a uint32_t ID), it adds the interface name
as a string and the version number so that the interface can be
identified from the protcol message.

Without docs, this was previously left for the interprid wire protocol
implementor (e.g. me an hour ago) to discover when Wayland clients send
them apparently bogus messages.

I would have preferred if a different primitive type were used here
(e.g. typed_new_id) to reflect the fact that the wire protocol is
different, but I felt it unwise to add a new primitive to wayland.xml in
$current_year.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a2f1343b7e7c8f0a548b13a3424b7660a9ec0000

Git commit 790dd9da16eb40e54b2dabe412dccdc5ea005b77 by Daniel Stone (on behalf of Drew DeVault) on 05/08/2019 at 08:43..
Add .editorconfig

This is copied from Weston
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/790dd9da16eb40e54b2dabe412dccdc5ea005b77

Git commit 17e49ba8443d76f05df89c9663e3661af292a1a4 by Simon Ser (on behalf of Drew DeVault) on 17/08/2019 at 11:12..
Improve description of wl_surface

The original text makes some assumptions about surfaces which may not be
true and fails to capture some details which are important to the
essential traits of a wl_surface.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/17e49ba8443d76f05df89c9663e3661af292a1a4

Git commit 152c9ed968124c253f0be25b76c2a083a21af37e by Liu Wenlong on 26/08/2019 at 17:32..
server: Fix fake "Address already in use" error

In the current workflow, socket file will be deleted if it already exists.
However, if the socket file is a symbolic link and the file that it refers
to doesn't exist, we will got "Address already in use" because bind()
thinks the socket file exists and won't create it.

Now, use lstat() to determine whether the socket file exists.

Signed-off-by: Liu Wenlong <liuwl.fnst at cn.fujitsu.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/152c9ed968124c253f0be25b76c2a083a21af37e

Git commit a277cc6d5238321a37951bd0a0448bb6ce0e115f by Pekka Paalanen (on behalf of Simon Ser) on 05/09/2019 at 11:01..
client: check event opcode in queue_event

If the client binds to a global with an interface mismatch, it may receive an
event from the server with an unknown opcode. See [1].

Instead of crashing, print a more useful debug message and close the connection.

[1]: https://gitlab.freedesktop.org/wayland/wayland/issues/113

Signed-off-by: Simon Ser <simon.ser at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a277cc6d5238321a37951bd0a0448bb6ce0e115f

Git commit cd9b3ef0cd2d6b6c5a07e07759699956af77555d by Pekka Paalanen (on behalf of Simon Ser) on 06/09/2019 at 12:09..
Update .editorconfig for Python

This uses the idiomatic Python indentation rules.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cd9b3ef0cd2d6b6c5a07e07759699956af77555d

Git commit 8854f64baeec50ebb0fe5af748574c290cce0682 by Pekka Paalanen (on behalf of Simon Ser) on 06/09/2019 at 12:09..
Add an automated script to update wl_shm.format

This prevents mismatches and missing formats between wl_shm.formats and
drm_fourcc.h.

The script collects DRM_FORMAT_* constants from drm_fourcc.h, compares the list
with the current wayland.xml entries (checking for any mismatch) and then
appends missing entries to wayland.xml.

Enum values are obtained by executing a generated C file which prints the
constants. There is no other reliable way to get these values as they are
defined via various macros.

There is no widespread Python library able to parse an XML file and format it
with all whitespace preserved. For this reason, we don't use an XML library to
create the new XML elements. Instead, we keep track of the line number of the
last wl_shm.format enum entry and add new entries right after. To be able to
read the line number of an element, we use lxml (the standard library doesn't
retain line number information).

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8854f64baeec50ebb0fe5af748574c290cce0682

Git commit e771ca91d76f2d35ed8fc65479666d2b0ac27ae8 by Pekka Paalanen (on behalf of Simon Ser) on 06/09/2019 at 12:09..
protocol: add a comment about the wl_shm.format script

Add a comment to wl_shm.format to advise contributors to use the automated
script (generate-shm-formats.py) instead of updating the list manually.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e771ca91d76f2d35ed8fc65479666d2b0ac27ae8

Git commit b69e547fa44e99f5d802ffb301027432b38005b8 by Pekka Paalanen (on behalf of Simon Ser) on 06/09/2019 at 12:09..
protocol: sync wl_shm.format with libdrm 2.4.99

This adds 42 new formats.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b69e547fa44e99f5d802ffb301027432b38005b8

Git commit e18e3e195b0f3984d41de5850da1691638a414df by Pekka Paalanen (on behalf of Simon Ser) on 06/09/2019 at 12:22..
server: check global interface on bind

The interface name provided by the client isn't used at all.

Check it matches the global's interface name to prevent object interface
mismatches between the client and the server. These are especially easy to get
when mixing up global names and other IDs in the client.

Signed-off-by: Simon Ser <simon.ser at intel.com>
Closes: https://gitlab.freedesktop.org/wayland/wayland/issues/113
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e18e3e195b0f3984d41de5850da1691638a414df

Git commit 6e5cedc20ad65d6784156bbc175f56557bd57c44 by Pekka Paalanen (on behalf of Simon Ser) on 06/09/2019 at 12:22..
tests: test that binding to a global with an interface mismatch fails

This test creates a wl_seat global, then tries to bind to it with the wl_output
interface.

Signed-off-by: Simon Ser <simon.ser at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6e5cedc20ad65d6784156bbc175f56557bd57c44

Git commit 4c2b7375612cd2eb8565898f76fb5e171b17777b by Simon Ser on 10/09/2019 at 09:47..
protocol: invalid_method is sent on malformed request

Currently libwayland sends a wl_display.invalid_method when arguments provided
with a request are invalid (e.g. too short, see wl_client_connection_data).

Clarify the protocol by adding that invalid_method can be sent on malformed
request.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4c2b7375612cd2eb8565898f76fb5e171b17777b

Git commit 6265dd4f071f1c99f3b349695ef5ede8d0697a15 by Manuel Stoeckl on 10/09/2019 at 11:59..
client: Ignore new requests if display has a fatal error

Once there has been a fatal display error, any new object requests
potentially rely on invalid state. (For example, a failure to read
from the compositor could hide a important event.) The safest way to
handle the new requests is not to make them.

Proxies produced by the request are still created, to ensure that
any code using the library does not crash from an unexpected NULL
pointer.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6265dd4f071f1c99f3b349695ef5ede8d0697a15

Git commit 8a831ac6ec359c0dff67d2f4221fcd48a3a9a4ce by Manuel Stoeckl on 10/09/2019 at 11:59..
client: Don't abort when sending a request fails

Instead, set a fatal display error which will let an application
using libwayland-client shutdown cleanly.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8a831ac6ec359c0dff67d2f4221fcd48a3a9a4ce

Git commit a89a5349af690f87c24abcaafc524f2cfd6e9d24 by Manuel Stoeckl on 10/09/2019 at 11:59..
tests: Test that send overflow doesn't abort

The new display test runs a client that makes a very large number of
trivial requests. After responding to initial setup requests, the server
is paused, letting the trivial requests fill up the Unix socket buffer,
making further writes to the socket fail. The test then checks that the
client sets an appropriate error code, and does not abort or crash.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a89a5349af690f87c24abcaafc524f2cfd6e9d24

Git commit 9f004d8b0fa37787fe96662cf5ff414e8d6ef5e4 by Marty E. Plummer on 11/09/2019 at 18:27..
scanner: prepend protocol name to types symbol

When doing unity builds via meson (example project:
https://github.com/swaywm/sway) multiple source files are glued together
via #include directives. Having every wayland-scanner generated source
file have an identifier named '*types[]' will lead to errors in these
unity builds if two or more of these are joined.

Signed-off-by: Marty E. Plummer <hanetzer at startmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9f004d8b0fa37787fe96662cf5ff414e8d6ef5e4

Git commit 766edf0243b1cd56c4a0d8a4ea03dd17ea49a119 by Mosè Giordano on 17/09/2019 at 15:38..
Add $(RT_LIBS) to fixed-benchmark LD dependencies

`tests/fixed-benchmark.c` calls `clock_gettime`.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/766edf0243b1cd56c4a0d8a4ea03dd17ea49a119

Git commit d5055ad913f4913c1bb1c17cef55049e30c191ad by Pekka Paalanen (on behalf of Simon Ser) on 27/09/2019 at 09:14..
server: add wl_global_set_user_data

When implementing a workaround for [1], one needs to accept a global to be
bound even though it has become stale.

Often, a global's user data is free'd when the global needs to be destroyed.
Being able to set the global's user data (e.g. to NULL) can help preventing a
use-after-free.

(The alternative is to make the compositor responsible for keeping track of
stale user data objects via e.g. refcounting.)

[1]: https://gitlab.freedesktop.org/wayland/wayland/issues/10

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d5055ad913f4913c1bb1c17cef55049e30c191ad

Git commit 11623e8fddb924c7ae317f2eabac23785ae5e8d5 by Simon Ser (on behalf of Emmanuel Gil Peyrot) on 14/10/2019 at 21:49..
wayland-shm: Don’t set SIGBUS handlers on unshrinkable fd

If a client set the F_SEAL_SHRINK seal on the fd before passing it to
the compositor, the kernel will ensure this fd won’t be able to shrink,
ever.  This allows us to avoid setting up the SIGBUS handlers on such
file descriptors.

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/11623e8fddb924c7ae317f2eabac23785ae5e8d5

Git commit 39852f1146941fa93daf767b4ecfb41b2d11aaef by Simon Ser on 16/10/2019 at 13:32..
server: add wl_global_remove

This commit adds a new wl_global_remove function that just sends a global
remove event without destroying it. See [1] for details.

Removing a global is racy, because clients have no way to acknowledge they
received the removal event.

It's possible to mitigate the issue by sending the removal event, waiting a
little and then destructing the global for real. The "wait a little" part is
compositor policy.

[1]: https://gitlab.freedesktop.org/wayland/wayland/issues/10

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/39852f1146941fa93daf767b4ecfb41b2d11aaef

Git commit 4162863c41a030b2a2058fda54c902ecbe3433e5 by Simon Ser on 16/10/2019 at 13:33..
tests: add a test for wl_global_remove

This test makes sure that after wl_global_remove:

* The global_remove event is sent to existing clients
* Binding to the removed global still works
* A new client will not see the removed global advertised

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4162863c41a030b2a2058fda54c902ecbe3433e5

Git commit 8e0513410dd16a3f3b1d07745b613e5ae6141bd0 by Simon Ser (on behalf of Jiayuan Ren) on 24/10/2019 at 22:31..
adding O_RDWR flag in the open()

According to the manual of open:
"The argument flags must include one of the following access modes:
O_RDONLY, O_WRONLY, or O_RDWR."
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8e0513410dd16a3f3b1d07745b613e5ae6141bd0

Git commit 4a1f348c20157db7bd7c759fdeb23fbe8729c571 by Joshua Watt on 05/11/2019 at 14:59..
scanner: Add configure check for strndup

Some platforms may not have strndup() (e.g. MinGW), so provide a
equivalent implementation if it's not found.

Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a1f348c20157db7bd7c759fdeb23fbe8729c571

Git commit e7d88f35eb89cf0cc77cbddd834cacc63683a9cc by Joshua Watt on 06/11/2019 at 14:24..
Move wl_priv_signal to wayland-server-private.h

Including wayland-server-core.h in wayland-private.h is problematic
because wayland-private.h is included by wayland-scanner which should be
able to build against non-POSIX platforms (e.g. MinGW). The only reason
that wayland-server-core.h was included in wayland-private.h was for the
wl_private_signal definitions, so move those to a
wayland-server-private.h file that can be included by both
wayland-server.c and the tests.

Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e7d88f35eb89cf0cc77cbddd834cacc63683a9cc

Git commit 3a05d94dc25c0e6386fa5efd27885ceb0dc48396 by Michael Forney on 03/01/2020 at 05:13..
protocol: fix typo in wl_data_offer.set_actions description

Signed-off-by: Michael Forney <mforney at mforney.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3a05d94dc25c0e6386fa5efd27885ceb0dc48396

Git commit b5bd24476d9b81ea6e23b479010ff9cd5495f2c2 by asynts on 04/01/2020 at 13:40..
doc: Expand the abbreviation "hw" to "hardware".

Out of the context it is reasonably clear that "hw" is indeed an abbreviation
for "hardware".

The use of "hw" in this place doesn't seem to be a stylistic choice, but rather
an oversight.

Signed-off-by: Paul Scharnofske <asynts at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b5bd24476d9b81ea6e23b479010ff9cd5495f2c2

Git commit 8497144faae61844af2fc9ba4a29256aed0dd402 by Simon Ser (on behalf of Daniel Stone) on 10/01/2020 at 22:42..
build/doc: Ensure destination dir exists despite VPATH

Make considers a variable called VPATH when trying to satisfy
dependencies, e.g. for a target 'foo', it will consider the target
extant if VPATH is '../../bar' and '../../bar/foo' exists.

Part of the doc build, the '$(alldirs)' target, exists to create the
target directories if they do not exist. For example, before generating
xml/wayland-architecture.png, it will ensure the 'xml' target is
considered up-to-date thanks to the target dependency.

Creating $(srcdir)/doc/doxygen/xml thus means that the 'xml' dependency
will be satisfied, so we'll never create the output directory, and the
doc build will fail.

Change the alldirs target list to be absolute paths, so VPATH will not
be consulted and defeat the entire point of what we're trying to do.
This fixes the Meson build, where we later create
doc/doxygen/xml/meson.build.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8497144faae61844af2fc9ba4a29256aed0dd402

Git commit a77f6bf6c41f83520261cdf67c9819f8e36f8a3d by Simon Ser (on behalf of Emmanuele Bassi) on 10/01/2020 at 22:42..
Support running tests from different build directories

The tests that run exec-fd-leak-checker expect the binary to be located
in the current directory. This is not always the case; for instance, the
binaries could be built under `tests`, but be invoked under the
top-level build directory.

We can use an environment variable to control what's the location of the
test binaries, and fall back to the current directory if the variable is
unset.

Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a77f6bf6c41f83520261cdf67c9819f8e36f8a3d

Git commit 0d3044f2eaf66f2d87edad3c9545b9e1936f2019 by Simon Ser (on behalf of Pekka Paalanen) on 10/01/2020 at 22:42..
scanner: include config.h from command line

Meson will need to build wayland-scanner twice with different config.h files,
once for build and another for host machine. It will be easier to include the
right config.h from compiler command line than playing with files.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0d3044f2eaf66f2d87edad3c9545b9e1936f2019

Git commit 60acba6e0f13741a66f414cb9ac2e44e6048403b by Simon Ser (on behalf of Emmanuele Bassi) on 10/01/2020 at 22:44..
Add Meson build

Meson is a next generation build system, simpler than Autotools and also faster
and more portable. Most importantly, it will make integrating ASan easier in
CI.

The goal is to maintain feature parity of the Meson build with the
Autotools build, until such time when we can drop the latter.

Add a script which generates the desired Doxygen configuration for our various
output formats and executes it using that configuration. This is not something
Meson can or should do.

Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/80

[daniels: Changed to bump version, use GitLab issues URL, remove header
          checks not used in any code, remove pre-pkg-config Expat
	  support, added missing include paths to wayland-egl and
	  cpp-compile-test, added GitLab CI.
	  Bumped version, removed unnecessary pkg-config paths.]

[daniels: Properly install into mandir/man3 via some gross
          paramaterisation, generate real stamp files.]

Pekka:
- squashed patches
- removed MAKEFLAGS from meson CI
- remove unused PACKAGE* defines
- fix up scanner dependency handling
- instead of host_scanner option, build wayland-scanner twice when cross-compiling
- changed .pc files to match more closely the autotools versions
- reorder doxygen man sources to reduce diff to autotools
- fix pkgconfig.generate syntax warnings (new in Meson)
- bump meson version to 0.47 for configure_file(copy) and run_command(check)
- move doc tool checks into doc/meson.build, needed in more places
- make all doc tools mandatory if building docs
- check dot and doxygen versions
- add build files under doc/publican
- reindent to match Weston Meson style

Simon:
- Remove install arg from configure_file
- Don't build wayland-scanner twice during cross-build
- Fix naming of the threads dependency
- Store tests in dict
- Add missing HAVE_* decls for functions
- Remove unused cc_native variable
- Make doxygen targets a dict
- Make dot_gv a dict
- Use dicts in man_pages
- Make decls use dicts
- Make generated_headers use dicts
- Align Meson version number with autotool's

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/60acba6e0f13741a66f414cb9ac2e44e6048403b

Git commit 89a38bfaa40147d65e0240f24e1619a24cc38dd7 by Daniel Stone on 13/01/2020 at 13:51..
display-test: Remove unused variables

At higher warning levels, GCC complains about unused variables.

Remove two completely unused, and one set-but-not-used, variables from
display-test to make it happy.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/89a38bfaa40147d65e0240f24e1619a24cc38dd7

Git commit c2ce50b9d7bd470c2fe8faa4b0d996fca0fcbbaa by Simon Ser on 13/01/2020 at 18:31..
build: check wayland-scanner version

We need the --strict flag, released in wayland 1.14.0.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c2ce50b9d7bd470c2fe8faa4b0d996fca0fcbbaa

Git commit 555d3b8a9b5214a30774019a341f96759c75de02 by Simon Ser on 13/01/2020 at 18:32..
Revert "build: check wayland-scanner version"

This reverts commit c2ce50b9d7bd470c2fe8faa4b0d996fca0fcbbaa.

Pushed by mistake. Sorry about that.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/555d3b8a9b5214a30774019a341f96759c75de02

Git commit e449232f37256a7db3311399b311984271efa1e7 by Pekka Paalanen (on behalf of Manuel Stoeckl) on 15/01/2020 at 13:18..
tests: Fix race condition in send overflow test

This change ensures that the compositor process is not able to respond
to any of the noop requests sent by the client process, by using the
test compositor's `stop_display` mechanism to coordinate when the
compositor should stop processing messages.

(Before this change, it was possible that one of the calls of
wl_event_loop_dispatch in the compositor process could respond to all
the client's noop requests before returning.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e449232f37256a7db3311399b311984271efa1e7

Git commit 6ddd0636e0d4124c64993329b11a6c656a1841df by Pekka Paalanen (on behalf of Manuel Stoeckl) on 15/01/2020 at 13:18..
tests: Ensure that overflow test always overflows

While the default Unix socket buffer size on Linux is relatively
small, on some computers the default size may be configured to
be huge, making the overflow test never actually overflow the
Wayland display socket.

The changed code now explicitly sets the display socket send buffer
size to be small enough to guarantee an overflow.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6ddd0636e0d4124c64993329b11a6c656a1841df

Git commit 1f8fe8b966b59cd8af22c6a4a3b81996ff057c22 by Pekka Paalanen (on behalf of Simon Ser) on 15/01/2020 at 13:26..
meson: use strict wayland-scanner mode

Otherwise an invalid protocol will print warnings to stdout but won't
make the build fail.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1f8fe8b966b59cd8af22c6a4a3b81996ff057c22

Git commit bfd4362fc2932c08df686945bc4ca276dcff08e4 by Pekka Paalanen (on behalf of Simon Ser) on 15/01/2020 at 13:26..
autotools: use strict wayland-scanner mode

Otherwise an invalid protocol will print warnings to stdout but won't
make the build fail.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bfd4362fc2932c08df686945bc4ca276dcff08e4

Git commit fab3cb3bfedd649d668e37d81b90c3dbad9f4fad by Simon Ser on 16/01/2020 at 16:25..
build: check wayland-scanner version

We need the --strict flag, released in wayland 1.14.0.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fab3cb3bfedd649d668e37d81b90c3dbad9f4fad

Git commit a0d941e411820e6d49a528757f53fd0f6ce53f3e by Simon Ser (on behalf of Manuel Stoeckl) on 21/01/2020 at 11:31..
event-loop-test: Verify proper timer cancellation

The implementation of timer event sources based on timerfds ensured
specific edge-case behavior with regards to removing and updating timers:

Calls to `wl_event_loop_dispatch` will dispatch all timer event sources
that have expired up to that point, with one exception. When multiple
timer event sources are due to be dispatched in a single call of
`wl_event_loop_dispatch`, calling wl_event_source_remove` from within a
timer event source callback will prevent the removed event source's
callback from being called. Note that disarming or updating one of the
later timers that is due to be dispatched, from within a timer callback,
will NOT prevent that timer's callback from being invoked by
`wl_event_loop_dispatch`.

This commit adds a test that verifies the above behavior. (Because
epoll_wait is not documented to return timerfds in chronological order,
(although it does, in practice), the test code does not depend on the
order in which timers are dispatched.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a0d941e411820e6d49a528757f53fd0f6ce53f3e

Git commit 75d14834570bb0c851e792b520814888fb324c08 by Simon Ser (on behalf of Manuel Stoeckl) on 21/01/2020 at 11:31..
event-loop-test: Confirm distant timers do not fire

This change expands the `event_loop_timer` test to use two different
timers with different timeouts; it now implicitly checks that e.g.
both timers do not expire at the same time, and that the first timer
expiring does not prevent the second from doing so. (While such failure
modes are unlikely with timer event sources based on individual
timerfds, they are possible when multiple timers share a common timerfd.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/75d14834570bb0c851e792b520814888fb324c08

Git commit 60a8d29ad8526c18cc670612e2c94f443873011a by Simon Ser (on behalf of Manuel Stoeckl) on 21/01/2020 at 11:31..
event-loop: Track timer event sources in userspace

libwayland now uses only one file descriptor to keep track of all
the timer event sources associated with an event loop. An array-based
binary heap is used to determine which event source has the earliest
deadline.

(Previously, each timer event source had its own timerfd, making it easy
for the a process using many timer event sources to run out of file
descriptors.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/60a8d29ad8526c18cc670612e2c94f443873011a

Git commit 2f88814d9bb43b1463ee82a3cd5787b7b5735d5c by Simon Ser (on behalf of Manuel Stoeckl) on 21/01/2020 at 11:31..
event-loop-test: Add test to verify timer ordering

The new test verifies that, for a set of timers and a short sequence
of timer update calls, when the event loop is run the timer callbacks
are run in the expected order.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f88814d9bb43b1463ee82a3cd5787b7b5735d5c

Git commit d377ab9c077e8b1989385ae44aa6d8433e1a0825 by Simon Ser on 21/01/2020 at 11:40..
protocol: add missing enums for wl_data_device_manager.dnd_action

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d377ab9c077e8b1989385ae44aa6d8433e1a0825

Git commit 75e644c23ded2ef798fa31383c51afcf305cc9cb by Simon Ser on 21/01/2020 at 14:18..
build: bump to version 1.17.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/75e644c23ded2ef798fa31383c51afcf305cc9cb

Git commit 501cad11888a15cafb669fc0fd881da50de72cc4 by Emmanuel Gil Peyrot on 22/01/2020 at 12:41..
Remove unused HAVE_CONFIG_H define in meson

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/501cad11888a15cafb669fc0fd881da50de72cc4

Git commit 8e2199644e4fc34ebf46ea65b7598517eaa69f18 by Simon Ser (on behalf of Ihor Antonov) on 23/01/2020 at 20:32..
os: fallback for unsupported posix_fallocate

Some filesystems do not support fallocate and return EOPNOTSUPP.

On musl-based distros libwayland-cursor exits abruptly which causes the
application to crash. Unlike glibc, musl does not provide a fallback
mechanism for handling unsupported fallocate. Instead, musl developers
argue that application should handle the case of unsupported system
call.

This commit allows falback to ftruncate in case when EOPNOTSUPP
was recieved.

Signed-off-by: Ihor Antonov <ihor at antonovs.family>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8e2199644e4fc34ebf46ea65b7598517eaa69f18

Git commit 96a8465e38cd5debd438d9463d54c8683751923f by Simon Ser on 28/01/2020 at 20:57..
tests: fix memory leak in proxy-test

When running tests with ASan, proxy-test fails at the proxy_tag test:

    ==27843==ERROR: LeakSanitizer: detected memory leaks

    Direct leak of 32 byte(s) in 1 object(s) allocated from:
        #0 0x7f65a732dada in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:144
        #1 0x7f65a71cb3ea in wl_display_add_protocol_logger src/wayland-server.c:1813
        #2 0x557c640c0980 in proxy_tag tests/proxy-test.c:104
        #3 0x557c640c1159 in run_test tests/test-runner.c:153
        #4 0x557c640c1e2e in main tests/test-runner.c:337
        #5 0x7f65a6ea0ee2 in __libc_start_main (/usr/lib/libc.so.6+0x26ee2)

    SUMMARY: AddressSanitizer: 32 byte(s) leaked in 1 allocation(s).

Destroying the logger fixes the leak.

Signed-off-by: Simon Ser <contact at emersion.fr>
Fixes: 493ab79bd2cd ("proxy: Add API to tag proxy objects")
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/96a8465e38cd5debd438d9463d54c8683751923f

Git commit 367d2985f3242d12c16a4f9074254584a8739d1f by Simon Ser on 28/01/2020 at 21:02..
build: bump to version 1.17.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/367d2985f3242d12c16a4f9074254584a8739d1f

Git commit 3d1c6c6f685748276a33dc442bb05ec5f0ac47a1 by Simon Ser on 04/02/2020 at 16:43..
autotools: add Meson files to EXTRA_DIST

This allows users to build Wayland with Meson from an autotools-generated
release tarball.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/issues/141
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3d1c6c6f685748276a33dc442bb05ec5f0ac47a1

Git commit 57f17de0ec0a2bfe8a4cd9bc0be6ab0a06c6fbfd by Simon Ser on 04/02/2020 at 23:32..
build: bump to version 1.17.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/57f17de0ec0a2bfe8a4cd9bc0be6ab0a06c6fbfd

Git commit b9fae7393c6fa9ff849f01af9aa308372909ef96 by Héctor Orón Martínez (on behalf of Leonid Bobrov) on 09/02/2020 at 19:47..
configure: detect libdl and librt

Signed-off-by: Leonid Bobrov <mazocomp at disroot.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b9fae7393c6fa9ff849f01af9aa308372909ef96

Git commit a3f59acc10d37e6b4ba8b6b3db4dc3faaae08046 by Héctor Orón Martínez (on behalf of Pekka Paalanen) on 09/02/2020 at 19:47..
configure.ac: reopen master for regular development

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a3f59acc10d37e6b4ba8b6b3db4dc3faaae08046

Git commit 4e28b9abdf50ef1651112679693bca4c0afb0bf0 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
Add releasing.txt

This file is imported from Weston (commit 53d7c243).

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4e28b9abdf50ef1651112679693bca4c0afb0bf0

Git commit 8a6869fdd7e179cd89e6dc67209eb9e0509143a3 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
releasing: adapt for Wayland

Remove Weston-specific bits, strip off outdated instructions.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8a6869fdd7e179cd89e6dc67209eb9e0509143a3

Git commit 9be5c598b3bad287badfb8a606d97c20ac5dacf8 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
releasing: fixup section numbers

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9be5c598b3bad287badfb8a606d97c20ac5dacf8

Git commit abd22258b5996ed1f50e297093e58c2456c278fd by Héctor Orón Martínez (on behalf of Harish Krupo) on 09/02/2020 at 19:47..
docs: Abort configure if docbook-xsl package is missing

The docbook-xsl package includes all the stylesheets required to build
the docs without internet access.

Test:
One way to emulate missing style sheets is to move /etc/xml/catalog file
to a different location. Doing so should cause configure to fail with
"checking for docbook stylesheets... no"

v2: add AC_MSG_RESULT (Pekka)

Signed-off-by: Harish Krupo <harishkrupo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/abd22258b5996ed1f50e297093e58c2456c278fd

Git commit eb02c45b4111ae4d2268fe8f3cc1071d08172c3b by Héctor Orón Martínez (on behalf of Harish Krupo) on 09/02/2020 at 19:47..
wayland.xml: document invalid_finish error in wl_data_offer.finish

Explicitly state that the invalid_finish protocol error would be raised
when wl_data_offer.finish request is sent for non drag-and-drop
operations.

Signed-off-by: Harish Krupo <harishkrupo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eb02c45b4111ae4d2268fe8f3cc1071d08172c3b

Git commit 276b99753d211036b6c8f9b1498b98c9b522548a by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
protocol: allow to send a zero output refresh rate

Fixed refresh rate doesn't always make sense for all outputs. In case
it's not available or not relevant, allow compositors to send zero.

For instance the can be the case for virtual outputs.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/276b99753d211036b6c8f9b1498b98c9b522548a

Git commit 451d0dbe67ed96fb92b4f15e23774c0a541e94cf by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
scanner: error when element names will not compile

This change checks that the "name" fields of the various structures in
a Wayland protocol XML file will be converted into C identifiers that
can be successfully compiled.

For names which will be inserted as the prefix of an identifier
enforce a match with [_a-zA-Z][_0-9a-zA-Z]* . For types only inserted
as the suffix of an identifier (enum, entry), enforce a format of
[_0-9a-zA-Z]+ .

Unicode characters (and escape sequences like \u0394) are not allowed,
because most older and some newer C compilers do not support them by
default.

For sake of simplicity, this patch does not check for collisions
with reserved words or standard library names.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/451d0dbe67ed96fb92b4f15e23774c0a541e94cf

Git commit ba4d8341d8bbe8ced0603ef66ed38cda46913e1a by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
tests: Verify that wayland_scanner can catch bad identifiers

The test runs wayland_scanner on a set of XML protocol files which
have malformed element names, and confirms that an error is produced
and indicates the correct line.

Copyright notifications are not included in the test files, as
they are not code; of course, the project license still applies.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba4d8341d8bbe8ced0603ef66ed38cda46913e1a

Git commit 2504c6d75fd86289343dba9d92348fba13461a79 by Héctor Orón Martínez (on behalf of Antonio Borneo) on 09/02/2020 at 19:47..
log: remove "%m" from format strings by using strerror(errno)

The printf() format specifier "%m" is a glibc extension to print
the string returned by strerror(errno). While supported by other
libraries (e.g. uClibc and musl), it is not widely portable.

In Wayland code the format string is often passed to a logging
function that calls other syscalls before the conversion of "%m"
takes place. If one of such syscall modifies the value in errno,
the conversion of "%m" will incorrectly report the error string
corresponding to the new value of errno.

Remove all the occurrences of the specifier "%m" in Wayland code
by using directly the string returned by strerror(errno).

Signed-off-by: Antonio Borneo <borneo.antonio at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2504c6d75fd86289343dba9d92348fba13461a79

Git commit de7a935f8f6a81a067752735441f2783127b3ca2 by Héctor Orón Martínez (on behalf of orbea) on 09/02/2020 at 19:47..
Add a missing -pthread to fix compile with slibtool.

When compiling wayland with slibtool instead of GNU libtool
it will fail building libtest_runner with an undefined
reference to pthread_join@@GLIBC_2.2.5. This is because
-pthread (Or -lpthread) is missing from display_test. If its
added the build succeeds as expected with slibtool and
continues to work with libtool. Its likely that libtool is
hiding this failure by silently adding the missing flag which
is not uncommon...

Exposed in commit aa51a833eb9b3d8fb58a64ff685b249d65ec35b5.

Fixes https://gitlab.freedesktop.org/wayland/wayland/issues/91

Signed-off-by: orbea <orbea at riseup.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de7a935f8f6a81a067752735441f2783127b3ca2

Git commit 3266ee226b243e51b0bffe1c9b0e847a1bdba810 by Héctor Orón Martínez (on behalf of Michael Forney) on 09/02/2020 at 19:47..
Use wl_container_of internally

Rather than have two versions of the macro with slightly different
interfaces, just use wl_container_of internally.

This also removes use of statement expressions, a GNU C extension.

Signed-off-by: Michael Forney <mforney at mforney.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3266ee226b243e51b0bffe1c9b0e847a1bdba810

Git commit 68d3249c4109f75d904c2b93136239416b6a28bd by Héctor Orón Martínez (on behalf of Michael Forney) on 09/02/2020 at 19:47..
Avoid pointer arithmetic on `void *`

The pointer operand to the binary `+` operator must be to a complete
object type. Since we are working with byte sizes, use `char *` for
arithmetic instead.

Signed-off-by: Michael Forney <mforney at mforney.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68d3249c4109f75d904c2b93136239416b6a28bd

Git commit 9c3c8faeb9e8937bfc5ca1368b5b959e1b2de559 by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
protocol: clarify wl_display.delete_id description

libwayland-server only sends wl_display.delete_id events when
it responds to a client's destruction of a client-allocated
object. server-allocated objects are silently removed, as per
`wl_resource_destroy`.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9c3c8faeb9e8937bfc5ca1368b5b959e1b2de559

Git commit ab32f5fbbae81dacc2c66aacf34dde161b0b2b7b by Héctor Orón Martínez (on behalf of Scott Anderson) on 09/02/2020 at 19:47..
wayland.xml: Make releases for multiple 'wl_surface.attach' undefined

Fixes #46

The way wl_buffer is specified makes this situation inherently racy,
meaning there is no way this can be done unambiguously. Current real
compositor implementations already have differing behaviour for this, so
any client relying on it was already broken, if any such client exists.

This specifically only singles out wl_buffer.release as being undefined;
every other aspect of it should still be valid. This is so existing and
correct uses of multiple attaches are still valid, where a
"static"/immutable wl_buffer is being used (i.e. they don't care about
the release event).

Signed-off-by: Scott Anderson <scott.anderson at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ab32f5fbbae81dacc2c66aacf34dde161b0b2b7b

Git commit e4c8b6c54a80b7d8c977608d8232d071e31c69fc by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
connection: do not abort when dup(fd) fails

Instead, cleanly exit wl_closure_marshal and let the caller handler
the error. For wayland-client, the sole calling function will call
wl_abort() anyway. For wayland-server, the calling function will
cleanly shutdown the client.

This change ensures that compositors run with low file descriptor
limits or internal leaks need not crash suddenly (and sometimes
far from the problem) when space runs out.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e4c8b6c54a80b7d8c977608d8232d071e31c69fc

Git commit efca8d91fbf734f4571ed9bfdab4427ce7e67615 by Héctor Orón Martínez (on behalf of Emmanuel Gil Peyrot) on 09/02/2020 at 19:47..
cursor: Use memfd_create() when available

This (so-far) Linux-only API lets users create file descriptors purely
in memory, without any backing file on the filesystem and the race
condition which could ensue when unlink()ing it.

It also allows seals to be placed on the file, ensuring to every other
process that we won’t be allowed to shrink the contents, potentially
causing a SIGBUS when they try reading it.

This patch is best viewed with the -w option of git log -p.

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/efca8d91fbf734f4571ed9bfdab4427ce7e67615

Git commit 587e9345d0e0cd882f1c59a7612bf5ff4767f0fa by Héctor Orón Martínez (on behalf of Jonas Ådahl) on 09/02/2020 at 19:47..
proxy: Add API to tag proxy objects

When an application and a toolkit share the same Wayland connection,
it will receive events with each others objects. For example if the
toolkit manages a set of surfaces, and the application another set, if
both the toolkit and application listen to pointer focus events,
they'll receive focus events for each others surfaces.

In order for the toolkit and application layers to identify whether a
surface is managed by itself or not, it cannot only rely on retrieving
the proxy user data, without going through all it's own proxy objects
finding whether it's one of them.

By adding the ability to "tag" a proxy object, the toolkit and
application can use the tag to identify what the user data pointer
points to something known.

To create a tag, the recommended way is to define a statically allocated
constant char array containing some descriptive string. The tag will be
the pointer to the non-const pointer to the beginning of the array.

For example, to identify whether a focus event is for a surface managed
by the code in question:

	static const char *my_tag = "my tag";

	static void
	pointer_enter(void *data,
		      struct wl_pointer *wl_pointer,
		      uint32_t serial,
		      struct wl_surface *surface,
		      wl_fixed_t surface_x,
		      wl_fixed_t surface_y)
	{
		struct window *window;
		const char * const *tag;

		tag = wl_proxy_get_tag((struct wl_proxy *) surface);

		if (tag != &my_tag)
			return;

		window = wl_surface_get_user_data(surface);

		...
	}

	...

	static void
	init_window_surface(struct window *window)
	{
		struct wl_surface *surface;

		surface = wl_compositor_create_surface(compositor);
		wl_surface_set_user_data(surface, window);
		wl_proxy_set_tag((struct wl_proxy *) surface,
				 &my_tag);
	}

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/587e9345d0e0cd882f1c59a7612bf5ff4767f0fa

Git commit a11d2f54fbd7b72766ec8e3eb1b39cd2671623c4 by Héctor Orón Martínez (on behalf of Drew DeVault) on 09/02/2020 at 19:47..
Document unusual wl_registry.bind new_id behavior

When wayland-scanner encounters a new_id field with no corresponding
interface name defined, instead of emitting a function whose signature
lines up with the usual case (a uint32_t ID), it adds the interface name
as a string and the version number so that the interface can be
identified from the protcol message.

Without docs, this was previously left for the interprid wire protocol
implementor (e.g. me an hour ago) to discover when Wayland clients send
them apparently bogus messages.

I would have preferred if a different primitive type were used here
(e.g. typed_new_id) to reflect the fact that the wire protocol is
different, but I felt it unwise to add a new primitive to wayland.xml in
$current_year.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a11d2f54fbd7b72766ec8e3eb1b39cd2671623c4

Git commit 36be95e820bf2d502fe55bd1c35ce606de8726df by Héctor Orón Martínez (on behalf of Drew DeVault) on 09/02/2020 at 19:47..
Add .editorconfig

This is copied from Weston
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/36be95e820bf2d502fe55bd1c35ce606de8726df

Git commit e07ef27f66f9e6c8cfd34594371ff35a645ad2a6 by Héctor Orón Martínez (on behalf of Drew DeVault) on 09/02/2020 at 19:47..
Improve description of wl_surface

The original text makes some assumptions about surfaces which may not be
true and fails to capture some details which are important to the
essential traits of a wl_surface.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e07ef27f66f9e6c8cfd34594371ff35a645ad2a6

Git commit 98c2748b9edb518659d5bdb9d3c5050188d7e2e3 by Héctor Orón Martínez (on behalf of Liu Wenlong) on 09/02/2020 at 19:47..
server: Fix fake "Address already in use" error

In the current workflow, socket file will be deleted if it already exists.
However, if the socket file is a symbolic link and the file that it refers
to doesn't exist, we will got "Address already in use" because bind()
thinks the socket file exists and won't create it.

Now, use lstat() to determine whether the socket file exists.

Signed-off-by: Liu Wenlong <liuwl.fnst at cn.fujitsu.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/98c2748b9edb518659d5bdb9d3c5050188d7e2e3

Git commit 235d9d770375313c8e9cd9e48ff551431dcfa484 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
client: check event opcode in queue_event

If the client binds to a global with an interface mismatch, it may receive an
event from the server with an unknown opcode. See [1].

Instead of crashing, print a more useful debug message and close the connection.

[1]: https://gitlab.freedesktop.org/wayland/wayland/issues/113

Signed-off-by: Simon Ser <simon.ser at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/235d9d770375313c8e9cd9e48ff551431dcfa484

Git commit 1f3c2bde4a991548c6866797bbd030eaa78c9f64 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
Update .editorconfig for Python

This uses the idiomatic Python indentation rules.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1f3c2bde4a991548c6866797bbd030eaa78c9f64

Git commit d7187cf63337d946a18436fea1dd2c1566cba37a by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
Add an automated script to update wl_shm.format

This prevents mismatches and missing formats between wl_shm.formats and
drm_fourcc.h.

The script collects DRM_FORMAT_* constants from drm_fourcc.h, compares the list
with the current wayland.xml entries (checking for any mismatch) and then
appends missing entries to wayland.xml.

Enum values are obtained by executing a generated C file which prints the
constants. There is no other reliable way to get these values as they are
defined via various macros.

There is no widespread Python library able to parse an XML file and format it
with all whitespace preserved. For this reason, we don't use an XML library to
create the new XML elements. Instead, we keep track of the line number of the
last wl_shm.format enum entry and add new entries right after. To be able to
read the line number of an element, we use lxml (the standard library doesn't
retain line number information).

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d7187cf63337d946a18436fea1dd2c1566cba37a

Git commit 6aa838e6ccbbcbf9227574433a03f300d3a068ac by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
protocol: add a comment about the wl_shm.format script

Add a comment to wl_shm.format to advise contributors to use the automated
script (generate-shm-formats.py) instead of updating the list manually.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6aa838e6ccbbcbf9227574433a03f300d3a068ac

Git commit 33e3354c6046d8016cfbeb8347f45d73b56deeda by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
protocol: sync wl_shm.format with libdrm 2.4.99

This adds 42 new formats.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/33e3354c6046d8016cfbeb8347f45d73b56deeda

Git commit 5e52406391a4111af0a70ea313791039adf75443 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
server: check global interface on bind

The interface name provided by the client isn't used at all.

Check it matches the global's interface name to prevent object interface
mismatches between the client and the server. These are especially easy to get
when mixing up global names and other IDs in the client.

Signed-off-by: Simon Ser <simon.ser at intel.com>
Closes: https://gitlab.freedesktop.org/wayland/wayland/issues/113
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e52406391a4111af0a70ea313791039adf75443

Git commit 314d14680db0d19d1d6e55631f73c8fc4dd7c976 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
tests: test that binding to a global with an interface mismatch fails

This test creates a wl_seat global, then tries to bind to it with the wl_output
interface.

Signed-off-by: Simon Ser <simon.ser at intel.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/314d14680db0d19d1d6e55631f73c8fc4dd7c976

Git commit 3d79bf7de2d4d57b6087916fdf5c404ec7da6ed4 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
protocol: invalid_method is sent on malformed request

Currently libwayland sends a wl_display.invalid_method when arguments provided
with a request are invalid (e.g. too short, see wl_client_connection_data).

Clarify the protocol by adding that invalid_method can be sent on malformed
request.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3d79bf7de2d4d57b6087916fdf5c404ec7da6ed4

Git commit aedc953823b79ed4981b396a28bbcd135093f57e by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
client: Ignore new requests if display has a fatal error

Once there has been a fatal display error, any new object requests
potentially rely on invalid state. (For example, a failure to read
from the compositor could hide a important event.) The safest way to
handle the new requests is not to make them.

Proxies produced by the request are still created, to ensure that
any code using the library does not crash from an unexpected NULL
pointer.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aedc953823b79ed4981b396a28bbcd135093f57e

Git commit d9551104e28f5fc6e8dbe749d7084fea2238a5f7 by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
client: Don't abort when sending a request fails

Instead, set a fatal display error which will let an application
using libwayland-client shutdown cleanly.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d9551104e28f5fc6e8dbe749d7084fea2238a5f7

Git commit b362b53cc85a1cea71b6ad4bbd6ce20646951e1e by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
tests: Test that send overflow doesn't abort

The new display test runs a client that makes a very large number of
trivial requests. After responding to initial setup requests, the server
is paused, letting the trivial requests fill up the Unix socket buffer,
making further writes to the socket fail. The test then checks that the
client sets an appropriate error code, and does not abort or crash.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b362b53cc85a1cea71b6ad4bbd6ce20646951e1e

Git commit c94c9bbf96a51283645caad1fedc881456d24dd6 by Héctor Orón Martínez (on behalf of Marty E. Plummer) on 09/02/2020 at 19:47..
scanner: prepend protocol name to types symbol

When doing unity builds via meson (example project:
https://github.com/swaywm/sway) multiple source files are glued together
via #include directives. Having every wayland-scanner generated source
file have an identifier named '*types[]' will lead to errors in these
unity builds if two or more of these are joined.

Signed-off-by: Marty E. Plummer <hanetzer at startmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c94c9bbf96a51283645caad1fedc881456d24dd6

Git commit 8f7f845e33c1a6aa3b3b6b110eef3426b825b737 by Héctor Orón Martínez (on behalf of Mosè Giordano) on 09/02/2020 at 19:47..
Add $(RT_LIBS) to fixed-benchmark LD dependencies

`tests/fixed-benchmark.c` calls `clock_gettime`.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8f7f845e33c1a6aa3b3b6b110eef3426b825b737

Git commit 39bebf78157e4a0bc511199bec593a3c37b6f0dd by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
server: add wl_global_set_user_data

When implementing a workaround for [1], one needs to accept a global to be
bound even though it has become stale.

Often, a global's user data is free'd when the global needs to be destroyed.
Being able to set the global's user data (e.g. to NULL) can help preventing a
use-after-free.

(The alternative is to make the compositor responsible for keeping track of
stale user data objects via e.g. refcounting.)

[1]: https://gitlab.freedesktop.org/wayland/wayland/issues/10

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/39bebf78157e4a0bc511199bec593a3c37b6f0dd

Git commit 4fcbf4debcbbf2202fe7f045a1f7f6ca7fc74a41 by Héctor Orón Martínez (on behalf of Emmanuel Gil Peyrot) on 09/02/2020 at 19:47..
wayland-shm: Don’t set SIGBUS handlers on unshrinkable fd

If a client set the F_SEAL_SHRINK seal on the fd before passing it to
the compositor, the kernel will ensure this fd won’t be able to shrink,
ever.  This allows us to avoid setting up the SIGBUS handlers on such
file descriptors.

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4fcbf4debcbbf2202fe7f045a1f7f6ca7fc74a41

Git commit 0bf8002aabb1f56d7d73939a6b1d403205f6c6a6 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
server: add wl_global_remove

This commit adds a new wl_global_remove function that just sends a global
remove event without destroying it. See [1] for details.

Removing a global is racy, because clients have no way to acknowledge they
received the removal event.

It's possible to mitigate the issue by sending the removal event, waiting a
little and then destructing the global for real. The "wait a little" part is
compositor policy.

[1]: https://gitlab.freedesktop.org/wayland/wayland/issues/10

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0bf8002aabb1f56d7d73939a6b1d403205f6c6a6

Git commit 5c2ff364e376099416092fa7caab8ac5aa448d25 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
tests: add a test for wl_global_remove

This test makes sure that after wl_global_remove:

* The global_remove event is sent to existing clients
* Binding to the removed global still works
* A new client will not see the removed global advertised

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c2ff364e376099416092fa7caab8ac5aa448d25

Git commit 4d75e2ac8fa6e84414831545bf0aca6d551bcdc5 by Héctor Orón Martínez (on behalf of Jiayuan Ren) on 09/02/2020 at 19:47..
adding O_RDWR flag in the open()

According to the manual of open:
"The argument flags must include one of the following access modes:
O_RDONLY, O_WRONLY, or O_RDWR."
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4d75e2ac8fa6e84414831545bf0aca6d551bcdc5

Git commit 16653485d253ba3891bf2216385e5940162ac5f1 by Héctor Orón Martínez (on behalf of Joshua Watt) on 09/02/2020 at 19:47..
scanner: Add configure check for strndup

Some platforms may not have strndup() (e.g. MinGW), so provide a
equivalent implementation if it's not found.

Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/16653485d253ba3891bf2216385e5940162ac5f1

Git commit 18d3b751547e44c3bd935f8e35336cace1343eec by Héctor Orón Martínez (on behalf of Joshua Watt) on 09/02/2020 at 19:47..
Move wl_priv_signal to wayland-server-private.h

Including wayland-server-core.h in wayland-private.h is problematic
because wayland-private.h is included by wayland-scanner which should be
able to build against non-POSIX platforms (e.g. MinGW). The only reason
that wayland-server-core.h was included in wayland-private.h was for the
wl_private_signal definitions, so move those to a
wayland-server-private.h file that can be included by both
wayland-server.c and the tests.

Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/18d3b751547e44c3bd935f8e35336cace1343eec

Git commit 782e3a207aa01cc632d6092e282775f44b492fd8 by Héctor Orón Martínez (on behalf of Michael Forney) on 09/02/2020 at 19:47..
protocol: fix typo in wl_data_offer.set_actions description

Signed-off-by: Michael Forney <mforney at mforney.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/782e3a207aa01cc632d6092e282775f44b492fd8

Git commit a7e3b9ba5cc4ed42a8895b9142e092fc03c5f76c by Héctor Orón Martínez (on behalf of asynts) on 09/02/2020 at 19:47..
doc: Expand the abbreviation "hw" to "hardware".

Out of the context it is reasonably clear that "hw" is indeed an abbreviation
for "hardware".

The use of "hw" in this place doesn't seem to be a stylistic choice, but rather
an oversight.

Signed-off-by: Paul Scharnofske <asynts at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a7e3b9ba5cc4ed42a8895b9142e092fc03c5f76c

Git commit 5ad3ea4d80ce8bb5f8f450af5ff769d90dbfac18 by Héctor Orón Martínez (on behalf of Daniel Stone) on 09/02/2020 at 19:47..
build/doc: Ensure destination dir exists despite VPATH

Make considers a variable called VPATH when trying to satisfy
dependencies, e.g. for a target 'foo', it will consider the target
extant if VPATH is '../../bar' and '../../bar/foo' exists.

Part of the doc build, the '$(alldirs)' target, exists to create the
target directories if they do not exist. For example, before generating
xml/wayland-architecture.png, it will ensure the 'xml' target is
considered up-to-date thanks to the target dependency.

Creating $(srcdir)/doc/doxygen/xml thus means that the 'xml' dependency
will be satisfied, so we'll never create the output directory, and the
doc build will fail.

Change the alldirs target list to be absolute paths, so VPATH will not
be consulted and defeat the entire point of what we're trying to do.
This fixes the Meson build, where we later create
doc/doxygen/xml/meson.build.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5ad3ea4d80ce8bb5f8f450af5ff769d90dbfac18

Git commit 4bd0b57945351d50c8115248ed009cc35d253145 by Héctor Orón Martínez (on behalf of Emmanuele Bassi) on 09/02/2020 at 19:47..
Support running tests from different build directories

The tests that run exec-fd-leak-checker expect the binary to be located
in the current directory. This is not always the case; for instance, the
binaries could be built under `tests`, but be invoked under the
top-level build directory.

We can use an environment variable to control what's the location of the
test binaries, and fall back to the current directory if the variable is
unset.

Reviewed-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4bd0b57945351d50c8115248ed009cc35d253145

Git commit 3c52af2dd3ae05e72216a8b652dfc06ca1547be8 by Héctor Orón Martínez (on behalf of Pekka Paalanen) on 09/02/2020 at 19:47..
scanner: include config.h from command line

Meson will need to build wayland-scanner twice with different config.h files,
once for build and another for host machine. It will be easier to include the
right config.h from compiler command line than playing with files.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3c52af2dd3ae05e72216a8b652dfc06ca1547be8

Git commit 797df478361b02ee537369b8038fcfc100b42330 by Héctor Orón Martínez (on behalf of Emmanuele Bassi) on 09/02/2020 at 19:47..
Add Meson build

Meson is a next generation build system, simpler than Autotools and also faster
and more portable. Most importantly, it will make integrating ASan easier in
CI.

The goal is to maintain feature parity of the Meson build with the
Autotools build, until such time when we can drop the latter.

Add a script which generates the desired Doxygen configuration for our various
output formats and executes it using that configuration. This is not something
Meson can or should do.

Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/80

[daniels: Changed to bump version, use GitLab issues URL, remove header
          checks not used in any code, remove pre-pkg-config Expat
	  support, added missing include paths to wayland-egl and
	  cpp-compile-test, added GitLab CI.
	  Bumped version, removed unnecessary pkg-config paths.]

[daniels: Properly install into mandir/man3 via some gross
          paramaterisation, generate real stamp files.]

Pekka:
- squashed patches
- removed MAKEFLAGS from meson CI
- remove unused PACKAGE* defines
- fix up scanner dependency handling
- instead of host_scanner option, build wayland-scanner twice when cross-compiling
- changed .pc files to match more closely the autotools versions
- reorder doxygen man sources to reduce diff to autotools
- fix pkgconfig.generate syntax warnings (new in Meson)
- bump meson version to 0.47 for configure_file(copy) and run_command(check)
- move doc tool checks into doc/meson.build, needed in more places
- make all doc tools mandatory if building docs
- check dot and doxygen versions
- add build files under doc/publican
- reindent to match Weston Meson style

Simon:
- Remove install arg from configure_file
- Don't build wayland-scanner twice during cross-build
- Fix naming of the threads dependency
- Store tests in dict
- Add missing HAVE_* decls for functions
- Remove unused cc_native variable
- Make doxygen targets a dict
- Make dot_gv a dict
- Use dicts in man_pages
- Make decls use dicts
- Make generated_headers use dicts
- Align Meson version number with autotool's

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/797df478361b02ee537369b8038fcfc100b42330

Git commit d2dca3d8e395d9925c60e4a6e80504432fe5ca02 by Héctor Orón Martínez (on behalf of Daniel Stone) on 09/02/2020 at 19:47..
display-test: Remove unused variables

At higher warning levels, GCC complains about unused variables.

Remove two completely unused, and one set-but-not-used, variables from
display-test to make it happy.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d2dca3d8e395d9925c60e4a6e80504432fe5ca02

Git commit bf855a7c53879d878377ceef799cb9262c223abb by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
build: check wayland-scanner version

We need the --strict flag, released in wayland 1.14.0.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bf855a7c53879d878377ceef799cb9262c223abb

Git commit 8d9d4dac793463acc64a5b0f601c79b66ad73e5d by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
Revert "build: check wayland-scanner version"

This reverts commit c2ce50b9d7bd470c2fe8faa4b0d996fca0fcbbaa.

Pushed by mistake. Sorry about that.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8d9d4dac793463acc64a5b0f601c79b66ad73e5d

Git commit b6ed8e8696d63eb50d16cebd59253db6a95b611f by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
tests: Fix race condition in send overflow test

This change ensures that the compositor process is not able to respond
to any of the noop requests sent by the client process, by using the
test compositor's `stop_display` mechanism to coordinate when the
compositor should stop processing messages.

(Before this change, it was possible that one of the calls of
wl_event_loop_dispatch in the compositor process could respond to all
the client's noop requests before returning.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b6ed8e8696d63eb50d16cebd59253db6a95b611f

Git commit fa3d7976d4a877858f5de1486e685637edc8718b by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
tests: Ensure that overflow test always overflows

While the default Unix socket buffer size on Linux is relatively
small, on some computers the default size may be configured to
be huge, making the overflow test never actually overflow the
Wayland display socket.

The changed code now explicitly sets the display socket send buffer
size to be small enough to guarantee an overflow.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fa3d7976d4a877858f5de1486e685637edc8718b

Git commit 37921b6a303c1a9b92f1f6d4427273827b67331e by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
meson: use strict wayland-scanner mode

Otherwise an invalid protocol will print warnings to stdout but won't
make the build fail.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/37921b6a303c1a9b92f1f6d4427273827b67331e

Git commit 8a57a53631996952d0a7dcb66eaf3d2ce48370ad by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
autotools: use strict wayland-scanner mode

Otherwise an invalid protocol will print warnings to stdout but won't
make the build fail.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8a57a53631996952d0a7dcb66eaf3d2ce48370ad

Git commit 88e9673552723c4a8c0342628ad197076f64da12 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
build: check wayland-scanner version

We need the --strict flag, released in wayland 1.14.0.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/88e9673552723c4a8c0342628ad197076f64da12

Git commit 5e7ef3d7122f1b3fb058679ea1ecae048170464f by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
event-loop-test: Verify proper timer cancellation

The implementation of timer event sources based on timerfds ensured
specific edge-case behavior with regards to removing and updating timers:

Calls to `wl_event_loop_dispatch` will dispatch all timer event sources
that have expired up to that point, with one exception. When multiple
timer event sources are due to be dispatched in a single call of
`wl_event_loop_dispatch`, calling wl_event_source_remove` from within a
timer event source callback will prevent the removed event source's
callback from being called. Note that disarming or updating one of the
later timers that is due to be dispatched, from within a timer callback,
will NOT prevent that timer's callback from being invoked by
`wl_event_loop_dispatch`.

This commit adds a test that verifies the above behavior. (Because
epoll_wait is not documented to return timerfds in chronological order,
(although it does, in practice), the test code does not depend on the
order in which timers are dispatched.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e7ef3d7122f1b3fb058679ea1ecae048170464f

Git commit a4666c1988a9f63c01ab72f8f14c11f17050ec88 by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
event-loop-test: Confirm distant timers do not fire

This change expands the `event_loop_timer` test to use two different
timers with different timeouts; it now implicitly checks that e.g.
both timers do not expire at the same time, and that the first timer
expiring does not prevent the second from doing so. (While such failure
modes are unlikely with timer event sources based on individual
timerfds, they are possible when multiple timers share a common timerfd.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a4666c1988a9f63c01ab72f8f14c11f17050ec88

Git commit 4fe309e4cc61e44c103738c5a951c41c6d892713 by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
event-loop: Track timer event sources in userspace

libwayland now uses only one file descriptor to keep track of all
the timer event sources associated with an event loop. An array-based
binary heap is used to determine which event source has the earliest
deadline.

(Previously, each timer event source had its own timerfd, making it easy
for the a process using many timer event sources to run out of file
descriptors.)

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4fe309e4cc61e44c103738c5a951c41c6d892713

Git commit ae735b5ab6c03780ba1556305541dd0d68212de6 by Héctor Orón Martínez (on behalf of Manuel Stoeckl) on 09/02/2020 at 19:47..
event-loop-test: Add test to verify timer ordering

The new test verifies that, for a set of timers and a short sequence
of timer update calls, when the event loop is run the timer callbacks
are run in the expected order.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ae735b5ab6c03780ba1556305541dd0d68212de6

Git commit 5d891f0cc04a3aad23cd23e49382fb49124ad120 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
protocol: add missing enums for wl_data_device_manager.dnd_action

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5d891f0cc04a3aad23cd23e49382fb49124ad120

Git commit f11ec50a889eda6a437eb4bf103e21c5d98456a1 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
build: bump to version 1.17.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f11ec50a889eda6a437eb4bf103e21c5d98456a1

Git commit bdce72e9c4d3142b903d39512ea34328e9a5461e by Héctor Orón Martínez (on behalf of Emmanuel Gil Peyrot) on 09/02/2020 at 19:47..
Remove unused HAVE_CONFIG_H define in meson

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bdce72e9c4d3142b903d39512ea34328e9a5461e

Git commit a29d17e051303b9470f1561a518dfc7bd0785ff7 by Héctor Orón Martínez (on behalf of Ihor Antonov) on 09/02/2020 at 19:47..
os: fallback for unsupported posix_fallocate

Some filesystems do not support fallocate and return EOPNOTSUPP.

On musl-based distros libwayland-cursor exits abruptly which causes the
application to crash. Unlike glibc, musl does not provide a fallback
mechanism for handling unsupported fallocate. Instead, musl developers
argue that application should handle the case of unsupported system
call.

This commit allows falback to ftruncate in case when EOPNOTSUPP
was recieved.

Signed-off-by: Ihor Antonov <ihor at antonovs.family>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a29d17e051303b9470f1561a518dfc7bd0785ff7

Git commit 4bb936bb161a14bd52217ee2a3f4d7ffb293b8bb by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
tests: fix memory leak in proxy-test

When running tests with ASan, proxy-test fails at the proxy_tag test:

    ==27843==ERROR: LeakSanitizer: detected memory leaks

    Direct leak of 32 byte(s) in 1 object(s) allocated from:
        #0 0x7f65a732dada in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:144
        #1 0x7f65a71cb3ea in wl_display_add_protocol_logger src/wayland-server.c:1813
        #2 0x557c640c0980 in proxy_tag tests/proxy-test.c:104
        #3 0x557c640c1159 in run_test tests/test-runner.c:153
        #4 0x557c640c1e2e in main tests/test-runner.c:337
        #5 0x7f65a6ea0ee2 in __libc_start_main (/usr/lib/libc.so.6+0x26ee2)

    SUMMARY: AddressSanitizer: 32 byte(s) leaked in 1 allocation(s).

Destroying the logger fixes the leak.

Signed-off-by: Simon Ser <contact at emersion.fr>
Fixes: 493ab79bd2cd ("proxy: Add API to tag proxy objects")
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4bb936bb161a14bd52217ee2a3f4d7ffb293b8bb

Git commit 93c3d80fc9ad08e7f14ac2af4504289084186e98 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
build: bump to version 1.17.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/93c3d80fc9ad08e7f14ac2af4504289084186e98

Git commit 5c41602a0766742a4283c727d0235889e89092fa by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
autotools: add Meson files to EXTRA_DIST

This allows users to build Wayland with Meson from an autotools-generated
release tarball.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/issues/141
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5c41602a0766742a4283c727d0235889e89092fa

Git commit a5a924e245715abcfcbcf35c400d9a8f4ea8c5f5 by Héctor Orón Martínez (on behalf of Simon Ser) on 09/02/2020 at 19:47..
build: bump to version 1.17.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a5a924e245715abcfcbcf35c400d9a8f4ea8c5f5

Git commit 2e452c66921b268fff32075ca2f0105232104e5e by Héctor Orón Martínez on 09/02/2020 at 19:48..
debian/control: bump Standars-Version, no changes

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2e452c66921b268fff32075ca2f0105232104e5e

Git commit 12d9534971f7847ed76c44e235bd421eb8b3e31a by Héctor Orón Martínez on 09/02/2020 at 19:55..
debian/*symbols: update

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/12d9534971f7847ed76c44e235bd421eb8b3e31a

Git commit 3c7132542f4c83313abc39e889a5e9d34883015b by Héctor Orón Martínez on 09/02/2020 at 19:58..
Release Debian version 1.17.93-1~exp1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3c7132542f4c83313abc39e889a5e9d34883015b

Git commit eb1339edd398b9f5328816931e585db4229aa132 by Simon Ser on 11/02/2020 at 23:45..
build: bump to version 1.18.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eb1339edd398b9f5328816931e585db4229aa132

Git commit c57157e3906c5921fb166e17475b36e2ace6a9eb by Simon Ser on 11/02/2020 at 23:55..
build: re-open master for regular development
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c57157e3906c5921fb166e17475b36e2ace6a9eb

Git commit c6afc2cb72207a680ba29ae6f06875370c276b25 by Héctor Orón Martínez on 12/02/2020 at 10:23..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c6afc2cb72207a680ba29ae6f06875370c276b25

Git commit 8afcdd41c369bb686e993c61651cc0bb3b7fbea1 by Héctor Orón Martínez on 12/02/2020 at 10:23..
Release Debian version 1.18.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8afcdd41c369bb686e993c61651cc0bb3b7fbea1

Git commit 0fc00fff3015edb70b865f126dc8f4c258fe2f56 by Jan Beich on 15/02/2020 at 02:55..
meson/tests: add missing dependencies on protocol headers

In file included from ../tests/connection-test.c:43:
In file included from ../tests/test-compositor.h:30:
../src/wayland-client.h:40:10: fatal error: 'wayland-client-protocol.h' file not found
 #include "wayland-client-protocol.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../tests/display-test.c:45:
In file included from ../src/wayland-server.h:104:
src/wayland-server-protocol.h:4454:2: error: unterminated /* comment
        /**
        ^
In file included from ../tests/cpp-compile-test.cpp:2:
In file included from src/wayland-server-protocol.h:8:
In file included from ../src/wayland-server.h:104:
src/wayland-server-protocol.h:3:2: error: unterminated conditional directive
 #ifndef WAYLAND_SERVER_PROTOCOL_H
  ^
../tests/headers-protocol-test.c:33:2: error: including wayland-server-protocol.h did not include wayland-server.h!
 #error including wayland-server-protocol.h did not include wayland-server.h!
  ^
In file included from ../tests/headers-protocol-test.c:26:
In file included from src/wayland-client-protocol.h:8:
In file included from ../src/wayland-client.h:40:
src/wayland-client-protocol.h:1358:2: error: unterminated conditional directive
 #ifndef WL_SHM_FORMAT_ENUM
  ^
In file included from ../tests/protocol-logger-test.c:34:
In file included from ../src/wayland-client.h:40:
src/wayland-client-protocol.h:2613:1: error: unterminated /* comment
/**
^
../tests/resources-test.c:49:36: error: use of undeclared identifier 'wl_seat_interface'
        res = wl_resource_create(client, &wl_seat_interface, 4, 0);
                                          ^
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0fc00fff3015edb70b865f126dc8f4c258fe2f56

Git commit 1283d54dac97216fb7bf099b864a6728043e2d8d by Jan Beich on 23/02/2020 at 20:42..
cursor: posix_fallocate may fail with EINVAL if not supported

ZFS on FreeBSD >= 12.0 returns EINVAL, see
https://svnweb.freebsd.org/changeset/base/325320

Signed-off-by: Jan Beich <jbeich at FreeBSD.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1283d54dac97216fb7bf099b864a6728043e2d8d

Git commit 3a3dd0820de331d560af954bf9d786c1256ec577 by Jan Beich on 23/02/2020 at 20:42..
cursor: ignore posix_fallocate in shm_pool_resize if not supported by FS

Signed-off-by: Jan Beich <jbeich at FreeBSD.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3a3dd0820de331d560af954bf9d786c1256ec577

Git commit 230885ebb40b35c68a3b88a649f449afa344ec28 by Jan Beich on 23/02/2020 at 20:42..
cursor/os-compatibility: move resizing into a separate function

Signed-off-by: Jan Beich <jbeich at FreeBSD.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/230885ebb40b35c68a3b88a649f449afa344ec28

Git commit ef40f82ac1b90f49af0f147d958a558cc980cb8b by Tomek Bury on 24/02/2020 at 11:02..
util: fix compiler warning

conversion to 'wl_fixed_t {aka int}' from 'int64_t {aka long int}'
may alter its value [-Werror=conversion]
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ef40f82ac1b90f49af0f147d958a558cc980cb8b

Git commit 8d5fadad47aad420b0d83fffc8ad573766a9c75e by Pekka Paalanen (on behalf of Simon Ser) on 05/03/2020 at 14:48..
protocol: add invalid_size error to wl_surface

This allows the compositor to send an error when the client submits a buffer
whose size is not divisible by the buffer scale. Previously, the protocol said
it was a client error but didn't specify any error code.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/issues/145
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8d5fadad47aad420b0d83fffc8ad573766a9c75e

Git commit 5ddb8dff878f3addd349bf58860cb6fad0a013ce by Matt Turner on 09/03/2020 at 18:31..
meson: Require wayland-scanner of a matching version

We have always built libwayland with the scanner from the same build so
that the generated code and installed headers are exactly up-to-date
with the libwayland version. If libwayland was to use a scanner later
than itself, the scanner might do things that are not available in the
libwayland at hand, leading to a broken build or a broken library
(headers).

Signed-off-by: Matt Turner <mattst88 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5ddb8dff878f3addd349bf58860cb6fad0a013ce

Git commit 618663c791092bb82dc0a153a4a2fe97582a54bc by Matt Turner on 13/03/2020 at 17:25..
meson: Add option to control building wayland-scanner

Wayland requires a binary, wayland-scanner, to be run during the build
process. For any configuration other than native builds (including
cross compiling and even 32-bit x86 builds on an x86-64 build machine)
Wayland's build process builds and uses its own wayland-scanner.

For any builds using a cross file, wayland-scanner is built for the host
machine and therefore cannot be executed during the build of the Wayland
libraries. Instead builds using a cross file must execute the build
machine's wayland-scanner (typically /usr/bin/wayland-scanner).

As such, to build Wayland's libraries for a non-native ABI a package
manager must build and install /usr/bin/wayland-scanner first. But then
the build for the native ABI then rebuilds wayland-scanner itself and
doesn't use the system's, and worse, wants to install its own, which
conflicts with the /usr/bin/wayland-scanner already installed!

So, add the -Dscanner=... option to control whether to install
wayland-scanner.

Signed-off-by: Matt Turner <mattst88 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/618663c791092bb82dc0a153a4a2fe97582a54bc

Git commit d840681707287df9a06bb427caab065b2e50515d by Matt Turner on 18/03/2020 at 20:35..
.gitlab-ci.yml: Switch from Stretch to Buster

Stretch is old-stable and will reach end of life this year.

buster-backports has newer Meson available, so switching to Buster will
allow us to bump the Meson requirements.

Signed-off-by: Matt Turner <mattst88 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d840681707287df9a06bb427caab065b2e50515d

Git commit 9f9e971f56e20fd4347b5af790f223909c7fb88e by Matt Turner on 18/03/2020 at 20:36..
meson: Raise requirement to meson >= 0.52.1

Many new and valuable features were added between Meson 0.49 and 0.52.1.
We would like to use some of them.

Signed-off-by: Matt Turner <mattst88 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9f9e971f56e20fd4347b5af790f223909c7fb88e

Git commit 6d4497371014cacbf0dc4ed9983fd6617ec25c9a by Matt Turner on 18/03/2020 at 20:37..
meson: Deduplicate generation of wayland-version.h

Signed-off-by: Matt Turner <mattst88 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6d4497371014cacbf0dc4ed9983fd6617ec25c9a

Git commit 25f216d97f7311e61498963c49245169f9b23e18 by Ricardo Quesada on 07/04/2020 at 17:55..
README with upadated compile instructions

This commit updates the README build & install instructions.
It replaces that obsolete "autogen && make" with "meson && ninja"

Signed-off-by: Ricardo Quesada <ricardoquesada at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/25f216d97f7311e61498963c49245169f9b23e18

Git commit 24ca1a5b578a63b731127c115f2cc6ea50c25686 by Simon Ser on 16/04/2020 at 17:49..
client: improve wl_display_connect docs

Add a paragraph about WAYLAND_SOCKET and describe what happens when the display
name is a relative path.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/24ca1a5b578a63b731127c115f2cc6ea50c25686

Git commit 7d3d2ae31053b741b7dd30918e023c364413c25a by Simon Ser on 16/04/2020 at 17:53..
doc/man: remove manually written man pages

There is only one page written. Having manually-written man pages duplicates
information with doc comments. Besides, man pages are already generated by
Doxygen.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/156
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7d3d2ae31053b741b7dd30918e023c364413c25a

Git commit cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0 by Guido Günther on 23/04/2020 at 08:17..
scanner: Guard interface declarations

This allows to include client and server headers in the same file
fixing warnings like

In file included from ../subprojects/wlroots/include/wlr/types/wlr_layer_shell_v1.h:16,
                 from ../src/desktop.h:16,
                 from ../src/server.h:13,
                 from ../tests/testlib.c:8:
tests/59830eb@@footest at sta/wlr-layer-shell-unstable-v1-protocol.h:80:34: warning: redundant redeclaration of ‘zwlr_layer_shell_v1_interface’ [-Wredundant-decls]
   80 | extern const struct wl_interface zwlr_layer_shell_v1_interface;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../tests/testlib.h:8,
                 from ../tests/testlib.c:7:
tests/59830eb@@footest at sta/wlr-layer-shell-unstable-v1-client-protocol.h:77:34: note: previous declaration of ‘zwlr_layer_shell_v1_interface’ was here
   77 | extern const struct wl_interface zwlr_layer_shell_v1_interface;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/wlroots/include/wlr/types/wlr_layer_shell_v1.h:16,
                 from ../src/desktop.h:16,
                 from ../src/server.h:13,
                 from ../tests/testlib.c:8:
tests/59830eb@@footest at sta/wlr-layer-shell-unstable-v1-protocol.h:106:34: warning: redundant redeclaration of ‘zwlr_layer_surface_v1_interface’ [-Wredundant-decls]
  106 | extern const struct wl_interface zwlr_layer_surface_v1_interface;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../tests/testlib.h:8,
                 from ../tests/testlib.c:7:
tests/59830eb@@footest at sta/wlr-layer-shell-unstable-v1-client-protocol.h:103:34: note: previous declaration of ‘zwlr_layer_surface_v1_interface’ was here
  103 | extern const struct wl_interface zwlr_layer_surface_v1_interface;

Signed-off-by: Guido Günther <agx at sigxcpu.org>
Closes: #158
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cc8b6aa3d937dda055cb25fdbec55d0afb6be2a0

Git commit df969706f4cd479a525a69a13f86589d6b313b5b by Simon Ser (on behalf of Peter Hutterer) on 29/04/2020 at 12:21..
Replace initial 8 spaces with a tab for all xml files

This is the style used in wayland.xml which is the only file we really
care about for git blame information. So let's adjust all others to that
style for consistency and fix editorconfig to avoid messing this up in
the future.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/df969706f4cd479a525a69a13f86589d6b313b5b

Git commit ef611a803ef7cd1bc7147bfdc453ca1ee380e095 by Daniel Stone (on behalf of Yann Dirson) on 03/06/2020 at 12:49..
doc: fix and clarify pointer image behaviour

Signed-off-by: Yann Dirson <ydirson at free.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ef611a803ef7cd1bc7147bfdc453ca1ee380e095

Git commit 94c036d72b0269b4c1e0e0776267ce375adb6870 by Peter Hutterer on 04/06/2020 at 22:22..
editorconfig: add settings for the .gitlab-ci.yml file

Different indentation and we don't want a fixed line length here, wrapping yaml
is prone to introduce bugs.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/94c036d72b0269b4c1e0e0776267ce375adb6870

Git commit cf20f2414048cd7d9ad43ffcdb8f494a6431a623 by Peter Hutterer on 04/06/2020 at 23:33..
gitlab CI: update to use the fdo ci templates

Instead of building a new debian image every time we build the repo, let's build
it once and re-use it. This way we're more  likely to spot actual bugs vs issues
with the distribution (or mirrors). This is the same approach mesa, gstreamer,
libinput, etc. already use.

The pipeline consists of two parts: container-build and distribution-image. Both
use the FDO_DISTRIBUTION_... variables to do their thing, the former to build an
image, the latter to use that image. The container-build step is a noop if an
image with that tag already exists in the registry, the templates take care of
all that.

The .debian.buster section groups the variables needed to easily extend all jobs
requiring buster. Not all variables are used by all jobs but meh.

The grouping is slightly odd because some debian-specific variables are in
the global variables and others in the .debian.buster section. This grouping
will make things easier if we extend to build on other distributions - then we
have all packages and tags in one place.

Because buster doesn't have a recent-enough version of meson, we install that
from pip.

Fixes #79

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cf20f2414048cd7d9ad43ffcdb8f494a6431a623

Git commit 21fad23a47ae3891fb92d6de4b82a00857e952c2 by Daniel Stone (on behalf of Simon Ser) on 05/06/2020 at 09:36..
protocol: add seat missing_capability error

The protocol says:

> It is a protocol violation to issue this request on a seat that
> has never had the pointer capability.

But never defines an error code.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/165
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/21fad23a47ae3891fb92d6de4b82a00857e952c2

Git commit 95a3272625296293c1d508e79a6e670b1af2abca by Daniel Stone (on behalf of Emmanuel Gil Peyrot) on 05/06/2020 at 11:05..
cursor: Use spaces for alignment in the header

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/95a3272625296293c1d508e79a6e670b1af2abca

Git commit c81cbae3f2233f189d32927c6d33c90804f28953 by Daniel Stone (on behalf of Emmanuel Gil Peyrot) on 05/06/2020 at 11:05..
cursor: Properly document wl_cursor_image and wl_cursor

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c81cbae3f2233f189d32927c6d33c90804f28953

Git commit 3feed6e723154dcb045e589f161a76d4ff382c91 by Daniel Stone (on behalf of Emmanuel Gil Peyrot) on 05/06/2020 at 11:05..
doc: Document libwayland-cursor with autotools

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3feed6e723154dcb045e589f161a76d4ff382c91

Git commit a61ae8eca858f866636eb2721f42ca0fa7fd06f8 by Daniel Stone (on behalf of Emmanuel Gil Peyrot) on 05/06/2020 at 11:05..
doc: Document libwayland-cursor with meson

Signed-off-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a61ae8eca858f866636eb2721f42ca0fa7fd06f8

Git commit 4aa6eb868a8646b99c5b552a48aa31043530a269 by Daniel Stone (on behalf of Kirill Chibisov) on 12/06/2020 at 21:15..
Clarify the order of wl_keyboard.modifiers

Consider that we set the modifier for the modifier key as well, and that
you have the option to change your layout when both shifts pressed. This
realized by making the shift keys produce 'Group_switch' when you press
the shift key and the shift modifier is already active. So sending modifier
before the key event will result in 'Group_switch' each time you press
shift.

That being said, the order of modifiers should be updated after the
key/enter event, so it'll only affect future keypresses, not the current one.

See: https://lists.x.org/archives/xorg-devel/2014-July/043110.html

Signed-off-by: Kirill Chibisov <contact at kchibisov.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4aa6eb868a8646b99c5b552a48aa31043530a269

Git commit 57b7c7d9463f391a1cae6fa049b2f98a3de3d09e by Daniel Stone (on behalf of Kirill Chibisov) on 12/06/2020 at 21:15..
Clarify clients behavior on wl_keyboard.leave

Clients must assume that every key, including modifiers, are lifted
after getting wl_keyboard.leave event, not doing so could lead to key repeat
keep going after the user changes focus, or stuck modifiers, when the user
interacts with client without keyboard focus.

Signed-off-by: Kirill Chibisov <contact at kchibisov.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/57b7c7d9463f391a1cae6fa049b2f98a3de3d09e

Git commit 1dfd2169dad8c7a39506b52afbedd42b7a1d9dbe by Simon Ser on 16/06/2020 at 09:35..
protocol: disambiguate key codes in wl_keyboard.key

Explain that wl_keyboard.key yields platform-specific key codes.
Some compositors use Linux key codes (defined in the
linux/input-event-codes.h header file, e.g. KEY_ESC), however
clients should not assume that this is always the case. The only
reliable way for clients to interpret key codes is to feed them
into a keyboard mapping.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1dfd2169dad8c7a39506b52afbedd42b7a1d9dbe

Git commit 1599a1f9f3fc6046feff2ee579da60db06dc3d0a by Héctor Orón Martínez on 12/08/2020 at 11:09..
debian/rules: convert to use meson buildsystem

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1599a1f9f3fc6046feff2ee579da60db06dc3d0a

Git commit 660d3f4b8591360e108e47eafd5f3ed0a8652878 by Héctor Orón Martínez on 12/08/2020 at 11:38..
debian/control: build depend on meson

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/660d3f4b8591360e108e47eafd5f3ed0a8652878

Git commit 5292937a9042ab7d0af6c883c83a517fba95187d by Héctor Orón Martínez on 12/08/2020 at 11:38..
debian/changelog: update

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5292937a9042ab7d0af6c883c83a517fba95187d

Git commit 41c756f69d91f2dabc5f2775947b1f590ce100cc by Héctor Orón Martínez on 12/08/2020 at 11:39..
Release Debian version 1.18.0-2~exp1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/41c756f69d91f2dabc5f2775947b1f590ce100cc

Git commit 4e16ef0aed8db425afc8910b2a9708b57e165d39 by Christopher James Halse Rogers on 14/08/2020 at 00:30..
protocol: Minor gramatical fix.

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4e16ef0aed8db425afc8910b2a9708b57e165d39

Git commit 9b7171f955225c5481c493c34e5ebe639cfd67ef by Pekka Paalanen (on behalf of Peter Hutterer) on 18/08/2020 at 07:57..
Add a basic gitlab issue template

This makes the Bug template available in the new issues form. Ideally a majority
of users will select this template and then realize that they're in the wrong
repo.

Making this a default is a feature of the enterprise gitlab version only, see
https://docs.gitlab.com/ce/user/project/description_templates.html#overview

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9b7171f955225c5481c493c34e5ebe639cfd67ef

Git commit fc3beac71f631fb16ee2257e9a6c9ec07cd0c90d by Valentin on 04/09/2020 at 10:27..
Use fixed size integer type

This type is meant to be 4 bytes large as seen in _XcursorReadUInt which
always reads 4 bytes. An unsigned int is often 4 bytes large but this
isnt' guaranteed so it is cleaner to use the exact type we want.

Signed-off-by: Valentin Kettner <vakevk at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fc3beac71f631fb16ee2257e9a6c9ec07cd0c90d

Git commit 1ab6a81816f52c17be2138ba569256b5afc029f2 by Valentin on 04/09/2020 at 10:27..
Fix undefined behavior

Without the casts the bytes accesses get converted to int. but int is
not guaranteed to be 4 bytes large. Even when it is 4 bytes large
`bytes[3] << 24` does not fit because int is signed.

Signed-off-by: Valentin Kettner <vakevk at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1ab6a81816f52c17be2138ba569256b5afc029f2

Git commit 53dd99793dd95fcfc187a0ee81ab289dfbe7fc2a by Simon Ser (on behalf of Nick Diego Yamane) on 29/10/2020 at 12:17..
protocol: Clarify how clients can cancel a drag operation

Explicitly say that destroying a wl_data_source previously used in a
wl_data_device::start_drag request will cancel the DND session. This
is currently the only way to do it from client side (besides those
"indirect" ones already documented) and all compositors work like that
but it is not clear spec-wise it is the expected behaviour.

Signed-off-by: Nick Diego Yamane <nickdiego at igalia.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/53dd99793dd95fcfc187a0ee81ab289dfbe7fc2a

Git commit e53e0edf0f892670f3e8c5dd527b3bb22335d32d by Simon Ser (on behalf of Alyssa Ross) on 29/10/2020 at 12:56..
doc: make reproducible

This setting makes Docbook section IDs consistent, and should allow
Wayland builds that include documentation to be fully reproducible.

Signed-off-by: Alyssa Ross <hi at alyssa.is>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e53e0edf0f892670f3e8c5dd527b3bb22335d32d

Git commit 1ea08d748cfa86d7395315ca3e52085b0e1c8155 by Simon Ser (on behalf of ganjing) on 29/10/2020 at 13:00..
cursor/convert_font.c: malloc cannot guarantee that the memory allocated is always successful
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1ea08d748cfa86d7395315ca3e52085b0e1c8155

Git commit d42b39ccab5baff33eb6a0d38d6d46ef0c442e89 by Simon Ser on 29/10/2020 at 13:02..
protocol: make it clear wl_surface.enter/leave are not for frame throttling

Some clients rely on wl_surface.enter/leave to start/stop their rendering
loop.

There are cases where this doesn't work:

- Some compositors don't send wl_surface.leave when a toplevel is hidden.
  For instance Sway doesn't send this event when a toplevel is on an inactive
  workspace (but doesn't send wl_surface.frame events).
- Some compositors might still want applications to continue to render even if
  away from outputs. For instance a compositor that allows to screen record
  individual toplevels might not send a wl_surface.enter event for hidden
  toplevels.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d42b39ccab5baff33eb6a0d38d6d46ef0c442e89

Git commit 6741dafbf7a50e8a3f3b7667b4fecbf7c55f21ff by Simon Ser on 29/10/2020 at 13:07..
protocol: deprecate non-current wl_output.mode

The current wl_output.mode event has several issues when used to advertise
modes that aren't current:

- It's not possible to remove some modes. This is an issue for virtual
  outputs and when the kernel prunes some modes because of link limitations.
- wl_output.mode fails to carry metadata such as aspect ratio, which results
  in duplicated or missing modes.
- It's not clear, given the current set of protocols, how non-current modes
  are useful to clients. Xwayland ignores non-current modes.

GNOME and wlroots already only advertise the current mode because of these
issues.

If a protocol needs the clients to know about all available modes, it should
advertise these modes itself instead of relying on wl_output.mode.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/92
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6741dafbf7a50e8a3f3b7667b4fecbf7c55f21ff

Git commit 0f5cc8b71b787a3f567b0153f8b848af74e60aff by Maxime Roussin-Bélanger on 17/12/2020 at 21:03..
doc: fix typos
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0f5cc8b71b787a3f567b0153f8b848af74e60aff

Git commit efa5e3c8c6cd7559e1e9df397d8536a143615cdb by Maxime Roussin-Bélanger on 17/12/2020 at 21:03..
tests: fix typos
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/efa5e3c8c6cd7559e1e9df397d8536a143615cdb

Git commit b52e71c8ec1659aaefd970f1f284ece39d04ef05 by Maxime Roussin-Bélanger on 17/12/2020 at 21:03..
CONTRIBUTING: fix typo "excercising"
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b52e71c8ec1659aaefd970f1f284ece39d04ef05

Git commit 0f0951d5c4d62fa5d1f2ccb5e69354b5116220a5 by Maxime Roussin-Bélanger on 17/12/2020 at 21:03..
cursor: fix typo "insufficent"
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0f0951d5c4d62fa5d1f2ccb5e69354b5116220a5

Git commit 4c086a8ce2b31f3d627a1bee778bf272d9ec9191 by Maxime Roussin-Bélanger on 17/12/2020 at 21:03..
egl: fix typo "Backards"
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4c086a8ce2b31f3d627a1bee778bf272d9ec9191

Git commit dad8575a4bf3fabf1f480dfd0b8272935ed41bdb by Maxime Roussin-Bélanger on 17/12/2020 at 21:03..
server: fix typos
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dad8575a4bf3fabf1f480dfd0b8272935ed41bdb

Git commit ea09c2fde7fcfc7e24a19ae5c5977981e9befeb7 by Simon Ser on 21/12/2020 at 10:16..
build: bump to version 1.18.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ea09c2fde7fcfc7e24a19ae5c5977981e9befeb7

Git commit 74182eb605bf0e45b777cb8b942f5263877c7e72 by Loïc Yhuel on 23/12/2020 at 14:37..
meson: link with -lrt if needed for clock_gettime

This is already done in autotools, and fixes the build with glibc < 2.17.

Signed-off-by: Loïc Yhuel <loic.yhuel at softathome.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/74182eb605bf0e45b777cb8b942f5263877c7e72

Git commit d01dee9784292027581726d51654834ed31d6931 by Simon Ser on 28/12/2020 at 10:15..
Remove TODO

These TODO items are outdated (either done or not applicable anymore). Let's
migrate items that we want to keep to GitLab issues.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d01dee9784292027581726d51654834ed31d6931

Git commit 69b8eaf3852839079e18a57c3b86fa71ddf72354 by Simon Ser on 06/01/2021 at 19:18..
build: bump to version 1.18.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/69b8eaf3852839079e18a57c3b86fa71ddf72354

Git commit d32e77692ce7faada2a44c9a8ee2e2fc1bc7461d by Loïc Yhuel on 13/01/2021 at 16:01..
server: Allow absolute paths in WAYLAND_DISPLAY

The compositor should handle absolute paths in WAYLAND_DISPLAY like the clients, ie not
adding the XDG_RUNTIME_DIR prefix if it's an absolute path.

This allows to create the wayland socket in a separate directory for system compositors if
desired. Clients could then directly inherit the environment variable.

Signed-off-by: Loïc Yhuel <loic.yhuel at softathome.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d32e77692ce7faada2a44c9a8ee2e2fc1bc7461d

Git commit db8b64ca5e6f92eb2377aa1c182f38db8fbc351f by Simon Ser on 19/01/2021 at 16:16..
protocol: sync wl_shm.format with libdrm 2.4.104

This adds 4 new formats.

Signed-off-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Acked-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/db8b64ca5e6f92eb2377aa1c182f38db8fbc351f

Git commit 0344e08ce01e963f113b31d0d976e5120cc3e75d by Simon Ser on 20/01/2021 at 21:35..
build: bump to 1.18.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0344e08ce01e963f113b31d0d976e5120cc3e75d

Git commit e60398b1755bfcdf09f040d3769131fe0d9762fc by Simon Ser on 27/01/2021 at 16:48..
build: bump to version 1.19.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e60398b1755bfcdf09f040d3769131fe0d9762fc

Git commit f1cc5d0c375e41c73969ec72ca86d8421a9cb1e6 by Simon Ser on 27/01/2021 at 17:45..
build: re-open master for regular development
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f1cc5d0c375e41c73969ec72ca86d8421a9cb1e6

Git commit efab39642ec9f446b98b2fb7c194306a033099a4 by Simon Ser (on behalf of Tadeo Kondrak) on 27/01/2021 at 17:49..
protocol: Add type attribute to events

This allows specifying events to be destructors, which is useful for
non-C language bindings. It is unused in wayland-scanner.

Signed-off-by: Tadeo Kondrak <me at tadeo.ca>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/efab39642ec9f446b98b2fb7c194306a033099a4

Git commit ddf21afa6ee99ad6a00705cc74b62a1c4907776b by Simon Ser (on behalf of Tadeo Kondrak) on 27/01/2021 at 17:49..
protocol: Specify wl_callback::done to be a destructor event

It's the only destructor event in the core protocol, and destructor
events were previously unannotated.

Signed-off-by: Tadeo Kondrak <me at tadeo.ca>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ddf21afa6ee99ad6a00705cc74b62a1c4907776b

Git commit 70f1c83fd9380bf40d904b2806c2af07e688e960 by sheepwall on 22/02/2021 at 18:09..
server: remove duplicate include

Signed-off-by: August Svensson <a.sve at live.se>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/70f1c83fd9380bf40d904b2806c2af07e688e960

Git commit 727c7903b27870bed0063814dd594466f21bf6eb by Simon Ser on 25/02/2021 at 22:49..
client: assert queue display matches proxy

In wl_proxy_set_queue, passing a wl_event_queue from a completely
unrelated wl_display could lead to object IDs mismatches.

Add an assertion to catch this case. It's always a user bug if this
happens.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/727c7903b27870bed0063814dd594466f21bf6eb

Git commit 085df633e1981b288b7000bce0e2c1b226d0ab77 by Héctor Orón Martínez on 04/03/2021 at 18:57..
Merge branch 'upstream-unstable' into debian-unstable

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/085df633e1981b288b7000bce0e2c1b226d0ab77

Git commit 5dcd7060d75ed27ad3e91a21368cf0e77fd2e1d2 by Héctor Orón Martínez on 04/03/2021 at 18:59..
Release Debian version 1.19.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5dcd7060d75ed27ad3e91a21368cf0e77fd2e1d2

Git commit 2b22160fb690a76247aa9bd0be3069ff43e8239f by Simon Ser (on behalf of Vlad Zahorodnii) on 05/03/2021 at 09:12..
server: add wl_display getter for wl_global

This can be useful if the compositor wants to call wl_global_destroy() with some
delay but it doesn't have the wl_display object associated with the global,
which is needed to get access to the event loop.

Signed-off-by: Vlad Zahorodnii <vlad.zahorodnii at kde.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2b22160fb690a76247aa9bd0be3069ff43e8239f

Git commit 3bda3d1b4729c8ee7c533520a199611cb841bc8f by Simon Ser on 05/03/2021 at 09:15..
build: drop autotools

Meson now replaces autotools.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3bda3d1b4729c8ee7c533520a199611cb841bc8f

Git commit 9c5d4b9dd66f921955d9dd398b0ea76bad12e18c by Héctor Orón Martínez on 08/03/2021 at 21:56..
Add missing dependency on libffi-dev (closes: #969284).

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9c5d4b9dd66f921955d9dd398b0ea76bad12e18c

Git commit e223aad12c9f711c19bbc75a11a20d0fe45d0e8b by Héctor Orón Martínez on 08/03/2021 at 21:57..
Release Debian version 1.19.0-2

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e223aad12c9f711c19bbc75a11a20d0fe45d0e8b

Git commit 1349d3d15bf7d100d0eae52d976a121d2dcf32ce by Alex Richardson on 22/03/2021 at 14:05..
Use MAP_FAILED instead of (void *) -1

While MAP_FAILED is generally defined to that value, we should not be
relying on implementation details of system headers.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1349d3d15bf7d100d0eae52d976a121d2dcf32ce

Git commit d224e6ccf38a4970f10713b0dab63e6747162698 by Jonas Ådahl on 26/03/2021 at 16:24..
ci: Use ci-fairy to check for Signed-off-by

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d224e6ccf38a4970f10713b0dab63e6747162698

Git commit e4659ffbf5ee32cb55a045bf63ae1e81c0c2938c by Michael Weiss on 02/04/2021 at 18:55..
meson: Only require expat when building wayland-scanner

This code is only required for building wayland-scanner so it should be
scoped accordingly. libxml-2.0 will only be required if both "scanner"
and "dtd_validation" are set to true.

Signed-off-by: Michael Weiss <dev.primeos at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e4659ffbf5ee32cb55a045bf63ae1e81c0c2938c

Git commit e88193492771f6d3c9f6d9d7b9b2b21b1a04e92d by Simon Ser (on behalf of Alex Richardson) on 15/04/2021 at 07:34..
os-wrappers-test.c: Correctly forward arguments to fcntl

We can't just unconditionally read the optional arguments (and also read
it as a void* despite actually being an int).
While this happens to work on most architectures because the first few
variadic arguments are passed in registers, this is non-portable and
causes a crash on architectures that set bounds on variadic function
arguments (for example CHERI-enabled architectures). It could also cause
problems on big-endian architectures that pass variadic arguments on the
stack rather than in registers.

For CHERI-MIPS, reading sizeof(void*) causes a read of 16 bytes from the
bounded varargs capability. This always crashes since even calls with the
optional argument only have 4 bytes available.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e88193492771f6d3c9f6d9d7b9b2b21b1a04e92d

Git commit 34306efeb261f8466ad427a61cdae3272b8bae4d by Simon Ser (on behalf of Alex Richardson) on 15/04/2021 at 07:34..
Change wl_os_dupfd_cloexec minfd to be int

The fcntl() argument is defined to be an int and not a long. This does not
matter on most architectures since the value is passed in registers, but
it causes issues on big-endian architectures that pass variadic arguments
on the stack.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/34306efeb261f8466ad427a61cdae3272b8bae4d

Git commit 4c2105312379b62dc84f6eaaf26e2ab293d51b92 by James Hilliard on 16/04/2021 at 09:04..
meson: only require cpp for tests

Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4c2105312379b62dc84f6eaaf26e2ab293d51b92

Git commit 88f1605a826ca0c2ff02be6f4cf9ecabf68e8341 by James Hilliard on 16/04/2021 at 09:45..
build: add option to disable tests

When building for a product, tests are not needed.

Besides, one test requires a C++ compiler, which is not always
available.

So, add an option to configure to disable building tests altogether.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/88f1605a826ca0c2ff02be6f4cf9ecabf68e8341

Git commit 0aebb5b94d6c9ba5e5b1440cb57060d9063e202d by Simon Ser (on behalf of Alexander Dunaev) on 27/04/2021 at 11:16..
cursor: add one more directory to XCURSORPATH

The user may install cursor themes manually, and the desktop environment
may provide a special directory for storing them.  For instance, GTK puts
those themes into ~/.local/share/icons, and many Linux distributions suggest
using that directory for user-specific themes.  However, users of
libwayland-cursor cannot load these themes using the API provided by the
library because the latter does not look into that directory.

This patch adds ~/.local/share/icons to the search path, so user-specific
themes can be loaded through the API provided by libwayland-cursor.

Signed-off-by: Alexander Dunaev <adunaev at igalia.com>
Reviewed-by: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0aebb5b94d6c9ba5e5b1440cb57060d9063e202d

Git commit ed55438366e93d70867e3ba6b80978673e536fc0 by Tobias Stoeckmann on 02/05/2021 at 19:35..
cursor: fix CVE-2013-2003

The libXcursor fix for CVE-2013-2003 has never been imported into
wayland, leaving it vulnerable to it.

Changing the argument type to an unsigned type is an effective merge of
Ilja Van Sprundel's commit in libXcursor.

Signed-off-by: Tobias Stoeckmann <tobias at stoeckmann.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed55438366e93d70867e3ba6b80978673e536fc0

Git commit 208fc99e66677fed61ba97382025f95db737696a by Simon Ser (on behalf of Nick Diego Yamane) on 04/05/2021 at 15:26..
Document serial param usage in wl_pointer.set_cursor

Serial is supposed to contain the latest wl_pointer.enter value received
by clients but it was not even mentioned in the docs, so add it to avoid
misinterpretations.

Signed-off-by: Nick Diego Yamane <nickdiego at igalia.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/208fc99e66677fed61ba97382025f95db737696a

Git commit e475decf1d665da7fae71df9624974179fadf007 by Marius Vlad on 07/05/2021 at 08:07..
src: Add missing new lines to log messages

Signed-off-by: Marius Vlad <marius.vlad at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e475decf1d665da7fae71df9624974179fadf007

Git commit f452e41264387dee4fd737cbf1af58b34b53941b by Simon Ser on 10/05/2021 at 22:08..
build: replace assembly embedding with Python script

This allows Meson to properly track dependencies and re-build the scanner when
editing the dtd. We also stop depending on GNU as' .incbin and make the
embedding less obscure.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f452e41264387dee4fd737cbf1af58b34b53941b

Git commit f8bea2450d0fc1d68b22ed36b9e500afdd4026c7 by Simon Ser on 27/05/2021 at 08:48..
protocol: drop reference to wl_drm

Change the wl_drm reference to linux-dmabuf. wl_drm is a legacy,
private Mesa protocol that shouldn't be used by regular clients.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f8bea2450d0fc1d68b22ed36b9e500afdd4026c7

Git commit abcf1048e23525865c2ff43ce90bbdaa80524246 by Simon Ser (on behalf of Tobias Stoeckmann) on 02/06/2021 at 13:46..
cursor: fix crash with weird input files

If a cursor file contains multiple images for the same size, this
typically indicates an animation. The compositor weston uses
wl_cursor_frame_and_duration to figure out at which time a specific image
should be shown.

The total delay is the sum of all image delays. But if all images have a
delay of 0, the total delay is 0 as well. The code does not check for this
special condition and triggers a floating point exception by eventually
performing a modulo operation with 0.

This, of course, could also happen if the sum of all image delays
triggers an unsigned int overflow. But since a comment in the code
already indicates that it does not try to "fix" handling of weird files,
I would argue that it's "okay" if that happens. At least the program
won't crash.

Proof of Concept:

install -D ~/.icons/poc/cursors
base64 -d > ~/.icons/poc/cursors/left_ptr << EOF
WGN1chAAAAAAAAEAAgAAAAIA/f8BAAAAKAAAAAIA/f8BAAAAKAAAACQAAAACAP3/AQAAAAEAAAAB
AAAAAQAAAAEAAAABAAAAAAAAAAAAAAA=
EOF
cat > /tmp/weston.ini << EOF
[shell]
cursor-theme=poc
EOF
weston -c /tmp/weston.ini

Signed-off-by: Tobias Stoeckmann <tobias at stoeckmann.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/abcf1048e23525865c2ff43ce90bbdaa80524246

Git commit ba0c63dee86cf94272c7763d711695fe3af0f210 by Simon Ser on 10/06/2021 at 14:33..
shm: remove wl_shm_buffer.pool NULL checks

wl_shm_buffer.pool is never set to NULL. The only time it's set is
in shm_pool_create_buffer, and the pool is guaranteed to be non-NULL
there.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba0c63dee86cf94272c7763d711695fe3af0f210

Git commit 3e897faa29d13bef6f9af31d4f2e89a526e60f4c by Simon Ser on 11/06/2021 at 14:05..
protocol: allow immediate wl_buffer.destroy if not re-used

Allow wl_buffer objects to be destroyed without having to wait for
wl_buffer.release if the underlying storage isn't going to be
re-used.

The main motivation for this is to avoid glitches when a client is
torn down. When a client disconnects, all of its objects are destroyed
in arbitrary order. However some compositors will still need to
access the destroyed buffer's underlying storage afterwards, e.g. for
visual effects (fade-out) or for atomic layout updates (wait for other
clients to commit a new buffer before hiding the buffer).

It's still incorrect for clients to destroy a wl_buffer and mutate
the underlying storage without waiting for wl_buffer.release.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/185
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3e897faa29d13bef6f9af31d4f2e89a526e60f4c

Git commit 4f53613e70cfc8eb23a91d289c79dc67f1114088 by Fergus Dall on 22/06/2021 at 10:15..
connection-test: Encode size in message headers correctly

In these tests, message sizes are inconsistently encoded in either the upper
or lower 16 bits of the second word of the message. Resolve this in favour
of using the upper 16 bits, as this is how messages are supposed to be
encoded, even though that aspect of message decoding isn't being tested
here.

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4f53613e70cfc8eb23a91d289c79dc67f1114088

Git commit ccc9612e823601f9bb7675bf2b029fd6eed6ed7b by Fergus Dall on 22/06/2021 at 10:15..
connection: Handle non-nullable strings in wl_connection_demarshal

Currently a null string passed into a non-nullable argument of a message
will decode succesfully, probably resulting in the handler function
crashing. Instead treat it the same way we do non-nullable objects and ids.

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ccc9612e823601f9bb7675bf2b029fd6eed6ed7b

Git commit 817fdb9009cd085a6e8b00a5fab207050cae5b1a by Simon Ser on 29/06/2021 at 09:17..
shm: add safety assertions

Catch any API mis-use with an assert. This should abort when the
user calls unreferences the pool more times than it's referenced.

Also change the refcount check to explicitly check for positive
counts. That makes the condition more readable.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/817fdb9009cd085a6e8b00a5fab207050cae5b1a

Git commit 92038fa39497f0a481b38e623bd604feb6a01882 by Pekka Paalanen on 01/07/2021 at 13:28..
CI: turn on ASan and UBSan

I just noticed that libwayland test suite is ASan and UBSan clean, so
let's turn that on in CI to avoid regressing.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/92038fa39497f0a481b38e623bd604feb6a01882

Git commit 767765d584df2c7ec759eab8edfaa79f31a2b692 by Simon Ser on 06/07/2021 at 11:57..
protocol: clarify wl_seat.name description

Define the expected properties of the seat name.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/767765d584df2c7ec759eab8edfaa79f31a2b692

Git commit 51d336ec140a8e44b74a5f3b3fcdf6e0038f9c86 by Pekka Paalanen (on behalf of James Legg) on 07/07/2021 at 12:11..
scanner: Use descriptions in entries

entry may have a description according to the DTD. This is used in
some protocols including xdg-shell.

Fixes the code comment on an enum declaration using the description of
the last enum that had one, adds the descriptions to the comments on
enumerators, and avoids leaking the previously missing descriptions.

Fixes #208

Signed-off-by: James Legg <lankyleggy at gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/51d336ec140a8e44b74a5f3b3fcdf6e0038f9c86

Git commit b7153f2273d076adfdaaf6717cde1aca69da5f04 by Pekka Paalanen (on behalf of James Legg) on 07/07/2021 at 12:11..
tests: Test wayland-scanner with a description in an entry

This previously would have caused a memory leak and incorrect
comments.

Signed-off-by: James Legg <lankyleggy at gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b7153f2273d076adfdaaf6717cde1aca69da5f04

Git commit 8899310fc8ffc6f716ec6342ae415cb8692df855 by Simon Ser on 13/07/2021 at 13:52..
shm: document wl_shm_buffer

The main motivation is to make it clear when a wl_shm_buffer is
destroyed.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8899310fc8ffc6f716ec6342ae415cb8692df855

Git commit 13ccd1c4db4c3f26354530c3212b35462a002e06 by Pekka Paalanen on 14/07/2021 at 07:21..
wayland-util: avoid memcpy(NULL) in wl_array_copy()

The problem was found running Weston, with both Weston and Wayland built
with ASan:

../../git/wayland/src/wayland-util.c:150:2: runtime error: null pointer passed as argument 1, which is declared to never be null
../../git/wayland/src/wayland-util.c:150:2: runtime error: null pointer passed as argument 2, which is declared to never be null

This turns out to be caused by copying an empty array into an empty
array.

That seems to be completely valid thing to do, and wl_array_init()
initializes the pointers to NULL and size to zero. Copying initialized
arrays must always be valid.

The error are caused by calling memcpy() with NULL pointers. It doesn't
explode, because also the size is zero.

Fix the problem by calling memcpy() only if size is not zero. This
should keep things like copying an empty array into a non-empty array
work.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/13ccd1c4db4c3f26354530c3212b35462a002e06

Git commit ada25fbd526dec116026cb2567a912b47890ad05 by Simon Ser (on behalf of Manuel Stoeckl) on 20/07/2021 at 09:20..
client: print discarded events in debug log

Before this patch, setting WAYLAND_DEBUG=1 or WAYLAND_DEBUG=client made
a program log all requests sent and events that it processes. However,
some events received are not processed. This can happen when a Wayland
server sends an event to an object that does not exist, or was recently
destroyed by the client program (either before the event was decoded,
or after being decoded but before being dispatched.)

This commit prints all discarded messages in the debug log, producing
lines like:

[1234567.890] discarded [unknown]@42.[event 0](0 fd, 12 byte)
[1234567.890] discarded wl_callback at 3.done(34567)
[1234567.890] discarded [zombie]@13.[event 1](3 fd, 8 byte)

The first indicates an event to an object that does not exist; the
second, an event to an object that was deleted after decoding, but
before dispatch; the third, an event to an object that left a
'zombie' marker behind to indicate which events have associated
file descriptors.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ada25fbd526dec116026cb2567a912b47890ad05

Git commit 80164ef3005e8bb5f785082b97a75cab15444f82 by Daniel Stone (on behalf of Fergus Dall) on 21/07/2021 at 11:42..
util: Avoid undefined behaviour in for_each_helper

for_each_helper tries to calculate a one-past-the-end pointer for its
wl_array input. This is fine when the array has one or more entries, but we
initialize arrays by setting wl_array.data to NULL. Pointer arithmetic is
only defined when both the pointer operand and the result point to the same
allocation, or one-past-the-end of that allocation. As NULL points to no
allocation, no pointer arithmetic can be performed on it, not even adding 0,
even if the result is never dereferenced.

This is caught by clang's ubsan from version 10.

Many tests already hit this case, but I added an explicit test for iterating
over an empty wl_map.

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/80164ef3005e8bb5f785082b97a75cab15444f82

Git commit f6b78b76b2665598d495d3fe08dc34515405caa4 by Daniel Stone (on behalf of Fergus Dall) on 21/07/2021 at 11:42..
server: Fix undefined behavior in wl_socket_init_for_display_name

This function constructs a socket path in sun_path using snprintf, which
returns the amount of space that would have been used if the buffer was
large enough. It then checks if this is larger then the actual buffer size
and, if so, returns ENAMETOOLONG. This is correct.

However, after calling snprintf and before checking that the length isn't too
long, it tries to compute a pointer to the part of the path that matches the
input name. It does this by adding the computed path length to the pointer to
the start of the path buffer, which will take it to one-past the null
terminator, and then walking backwards. If the path fits in the buffer, this
will take it at most one-past-the-end of the allocation, which is allowed, but
if the path is longer then the buffer then the pointer addition is undefined behavior.

Fix this by moving the display name computation past the check that the path
length is not too long.

This is detected by the test socket_path_overflow_server_create under ubsan.

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f6b78b76b2665598d495d3fe08dc34515405caa4

Git commit e5c3ac9bcd84df0f6bfd8fa1a1f549cab34eb439 by Daniel Stone (on behalf of Fergus Dall) on 22/07/2021 at 22:27..
connection-test: Pad out strings with null bytes

The connection_demarshal test writes a 10 byte string into a wayland message,
but doesn't pad it out to a four byte boundary. This leads to the last 32-bit
word of the message being partially uninitialized, which triggers an msan
violation when the message is written to the socket.

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e5c3ac9bcd84df0f6bfd8fa1a1f549cab34eb439

Git commit 91d98b622f2942221dfe0d7897801a2b0824b825 by Daniel Stone (on behalf of Fergus Dall) on 22/07/2021 at 22:27..
os-wrappers-test: Make syscall intercepts work with sanitizers

Sanitizers need to intercept syscalls in the compiler run-time library, as
do these tests. We try to make this work by using dlsym(RTLD_NEXT) to find
the next definition in the chain, but here this approach won't work because
the compiler run-time library is linked into the same elf object as the test
interceptors are.

The sanitizer library supports this by giving the intercept functions a
prefix and making them only weakly alias the real names, so our interceptors
can call the sanitizers interceptors explicitly, which will then use dlsym
to call the real function.

By making our declarations of the sanitizer interceptor function weak we can
handle any combination of intercepts (including none, if there is no
sanitizer). If our declaration is resolves to a NULL pointer, we just use
dlsym.

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/91d98b622f2942221dfe0d7897801a2b0824b825

Git commit 2f05ceeb4de665c306d01a295b7f30659f8cae96 by Daniel Stone (on behalf of Manuel Stoeckl) on 31/07/2021 at 16:49..
connection, client: Avoid locale-dependent float printing

Specifically, in the log formed when WAYLAND_DEBUG is set, this commit
ensures that floating point numbers are formatted using '.' instead of
the locale-specific decimal separator. As the debug logs are not
otherwise localized for end-users, and may be parsed by scripts, it is
better to have consistent output here.

The 24.8 fixed point numbers are now represented with 8 digits after
the decimal, since this is both exact and simpler to compute.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f05ceeb4de665c306d01a295b7f30659f8cae96

Git commit 2aa0a83d36963c88ae98613b5b6120759cd50f8d by Daniel Stone (on behalf of Simon Ser) on 31/07/2021 at 16:54..
connection: print array size

This makes it easier to understand how an xdg_toplevel is configured for
instance.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2aa0a83d36963c88ae98613b5b6120759cd50f8d

Git commit 7940bbb7359654a424df9df06d014ee96a6cd8d8 by Daniel Stone on 03/08/2021 at 20:10..
ci: Add comments, rename build stages

No non-cosmetic changes, just making things more accessible.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7940bbb7359654a424df9df06d014ee96a6cd8d8

Git commit b88e1d40b093df2a244bd60b29b43f307ff3af27 by Daniel Stone on 03/08/2021 at 20:22..
ci: Parameterise and template build

This will make it a lot easier to add other variants later.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b88e1d40b093df2a244bd60b29b43f307ff3af27

Git commit c4793730c026f4ccf842d09c8be0a8cff289d7d4 by Emanuele Aina on 03/08/2021 at 21:00..
Align debian/copyright with the upstream COPYING

For some reason the current license text in `debian/copyright` comes 
from the HPND license rather than the X11 one.

Fix that by lifting the actual text from the upstream `COPYING` file.
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c4793730c026f4ccf842d09c8be0a8cff289d7d4

Git commit 33767673bc2e87472aa6e969925ea3643dd52a27 by Daniel Stone on 04/08/2021 at 17:16..
ci: Add AArch64 build

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/33767673bc2e87472aa6e969925ea3643dd52a27

Git commit c4865c774bdbb5f1f7fc59158103c307cf8cdbc2 by Daniel Stone on 04/08/2021 at 17:16..
ci: Add ARMv7 build

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c4865c774bdbb5f1f7fc59158103c307cf8cdbc2

Git commit e4deb4dc66560cf17e85745fe8aa0e35bfa4f4b3 by Daniel Stone on 04/08/2021 at 17:16..
ci: Only run ci-fairy on MRs

This requires adding rules to all the jobs, as it's all or nothing.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e4deb4dc66560cf17e85745fe8aa0e35bfa4f4b3

Git commit 705154a09d599b2debe09e90f51e2e332e6bb930 by Daniel Stone on 04/08/2021 at 17:16..
ci: Use consistent YAML indendation

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/705154a09d599b2debe09e90f51e2e332e6bb930

Git commit 71ff5fe0af035512f54cf9b20a023467fef4541c by Daniel Stone on 04/08/2021 at 17:20..
ci: Add release builds

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/71ff5fe0af035512f54cf9b20a023467fef4541c

Git commit 0d3e47abdc75697d463d69a1be8d0449fc2cb4a7 by Daniel Stone on 04/08/2021 at 17:20..
ci: Use appropriate concurrency level

The appropriate concurrency level is not necessarily the number of
available CPUs; limit it to what the runners tell us we should be using.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0d3e47abdc75697d463d69a1be8d0449fc2cb4a7

Git commit 7769b63141ee5ebbc0f8ca7af84d6503487de26b by Daniel Stone on 04/08/2021 at 17:20..
ci: Use Werror

No point warning on stuff if we don't make it fail.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7769b63141ee5ebbc0f8ca7af84d6503487de26b

Git commit c4453ce1a517c3b6fa2a1fb6cce8b3398e88e9ec by Daniel Stone on 04/08/2021 at 17:20..
ci: Sanitise build and install paths

No sense in generating enormously long paths. This also happens to fix
artifacts not actually recording anything because we had a mismatch in
artifact paths vs. actual paths.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c4453ce1a517c3b6fa2a1fb6cce8b3398e88e9ec

Git commit f80879c03c194109190f48eb49a5ed649ce5da97 by Olivier Tilloy on 05/08/2021 at 15:09..
cursor: Try to fall back to a default xcursor theme first

The use case is systems where for some reason the current xcursor theme
cannot be accessed (an application packaged as a strictly confined snap,
for example).

Before falling back to wayland's default cursor theme, it is worth
trying the xcursor theme called "default", which hopefully looks better
than the former.

Fixes: https://gitlab.gnome.org/Community/Ubuntu/gnome-sdk/-/issues/6

Signed-off-by: Olivier Tilloy <olivier.tilloy at canonical.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f80879c03c194109190f48eb49a5ed649ce5da97

Git commit 2dfa0dcb24766b03f4a9f05154b474b722aaa025 by Simon Ser on 05/08/2021 at 15:24..
cursor: rename load_default_theme to load_fallback_theme

The theme getting loaded by this function is not to be confused
with the theme named "default" located on the filesystem. Instead,
it's a minimal theme directly bundled into libwayland-cursor.

Make this clearer by naming this theme "fallback".

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2dfa0dcb24766b03f4a9f05154b474b722aaa025

Git commit 6ebe3cfed0aaa934cd571d2b89c0ba23aa242055 by Daniel Stone (on behalf of Simon Ser) on 06/08/2021 at 09:26..
cursor: remove unused wl_cursor_theme.name

Let's just delete this field since it's not used anywhere and not
exposed in our public API.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6ebe3cfed0aaa934cd571d2b89c0ba23aa242055

Git commit 942f1d88431d394ac661af7b192154ba7aa68c29 by Daniel Stone (on behalf of Derek Foreman) on 07/08/2021 at 11:53..
client: Refactor wl_proxy_destroy critical section

Split wl_proxy_destroy into two pieces, wl_proxy_destroy_unlocked which
performs the critical section code with no locking, and wl_proxy_destroy
which locks before calling that.

We'll use the new unlocked variant later in code that already holds the
lock.

There is a slight functional change - an aborting check is now called
with the lock held. This should be harmless as wl_abort() performs
no locking.

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/942f1d88431d394ac661af7b192154ba7aa68c29

Git commit 23e4a7060080ebb61f516a2edcd71ab123029c0e by Daniel Stone (on behalf of Derek Foreman) on 07/08/2021 at 11:53..
client: Add new proxy marshalling functions with flags

There's a race when destroying wayland objects in a multi-threaded client.
This occurs because we call:
wl_proxy_marshal(foo);
wl_proxy_destroy(foo);

And each of these functions takes, and releases, the display mutex.
Between the two calls, the display is not locked.

In order to allow atomically marshalling the proxy and destroying the
proxy without releasing the lock, add yet more wl_proxy_marshal_*
functions.  This time add flags and jam in all existing warts with the
hope that we can make it future proof this time.

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/23e4a7060080ebb61f516a2edcd71ab123029c0e

Git commit 0e0274af0c9f60d2759713df136f4294054c9096 by Daniel Stone (on behalf of Derek Foreman) on 07/08/2021 at 11:53..
scanner: Use the new atomic marshal/destroy function

Use the new flagged marshal+destroy function in generated code.

It's intended as a replacement for all existing wl_proxy_marshal_*
functions, so I've used it to replace them all. This results in a large
update to the scanner test files as well.

We now pass the new WL_MARSHAL_FLAG_DESTROY flag when appropriate, so
the race condition in #86 caused by releasing the display mutex between
marshalling the proxy and destroying the proxy is now gone.

Fixes #86

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0e0274af0c9f60d2759713df136f4294054c9096

Git commit f736f11f99c73a3bf0d9089f5b6bc60e60b84bca by Derek Foreman on 09/08/2021 at 16:51..
connection: Rename wl_buffer

struct wl_buffer has other meaning in wayland, thus making this a pretty
confusing structure name. Function names like wl_buffer_put() just
compound the confusion.

Rename the struct and the associated functions (none of which are called
from outside this file anyway). The struct retains a wl_ prefix, as is
the custom for wayland internal data structures. The function names
have not retained this prefix, as we have many static function that
aren't prefixed.

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f736f11f99c73a3bf0d9089f5b6bc60e60b84bca

Git commit bf98c1a8f2872d3da2be895d9a7f56ada65d43d5 by Derek Foreman on 27/08/2021 at 14:56..
tests: Destroy custom global object

Destroy our custom global object at end of run so we no longer "leak"
it.

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bf98c1a8f2872d3da2be895d9a7f56ada65d43d5

Git commit 8ec25be6dbd1d5ca4e4b55ce573424a33c79f361 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
os-wrappers-test: Handle fcntl() being declared as a macro

On some systems (e.g. FreeBSD with the latest epoll-shim), fcntl is
declared as a macro instead of a function. Wrap the definition here in
parantheses to avoid function-macro expansion.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8ec25be6dbd1d5ca4e4b55ce573424a33c79f361

Git commit c65f852fc8b2742e4944f58f9bd0f1e0b44b983a by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
Use epoll-shim to emulate epoll(7) on FreeBSD

FreeBSD does not provide epoll(7) and instead requires an external library,
epoll-shim, that implements epoll() using kqueue(2)

Co-authored-by: Jan Beich <jbeich at FreeBSD.org>
Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c65f852fc8b2742e4944f58f9bd0f1e0b44b983a

Git commit c260d57750dada26d675218dac997333d41368d1 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
gitlab-ci: update ci-templates to the latest commit

This is in preparation for adding FreeBSD CI support.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c260d57750dada26d675218dac997333d41368d1

Git commit 3288a076ebc2bee1b5c16d51d62bd1371ca30387 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
gitlab-ci: remove duplicated lines in ci-templates include

The file key can have multiple values, so we don't need another "project".

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3288a076ebc2bee1b5c16d51d62bd1371ca30387

Git commit c0e8990e65b27412c64654794cb20e79552e5ed7 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
gitlab-ci: Fix copy-paste error in a comment

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c0e8990e65b27412c64654794cb20e79552e5ed7

Git commit f1552700ce57b9e7d0a7d4067b28061dc5b9f336 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
gitlab-ci: add junit reports to the debian builder

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f1552700ce57b9e7d0a7d4067b28061dc5b9f336

Git commit 54b237a61257a41d35d018c5871331bdf1df77a6 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
Support reading ucred from the socket on FreeBSD

On FreeBSD we have to use getsockopt(fd, SOL_LOCAL, LOCAL_PEERCRED)
instead. This change is based on a downstream patch in FreeBSD ports.

Co-authored-by: Greg V <greg at unrelenting.technology>
Co-authored-by: Koop Mast <kwm at rainbow-runner.nl>
Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/54b237a61257a41d35d018c5871331bdf1df77a6

Git commit 5a981ee823795a61372c46ed7f6d2582450ee0af by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
shm: Add mmap+memmove fallback if mremap() does not exist

Some operating systems (e.g. FreeBSD) do not implement mremap.
In that case we can grow the mapping by trying to map adjacent memory.
If that fails we can fall back to creating a new larger mapping and
moving the old memory contents there.

Co-authored-by: Koop Mast <kwm at rainbow-runner.nl>
Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5a981ee823795a61372c46ed7f6d2582450ee0af

Git commit 644efe9517eb48d18decc33d5bed5276fcdd2f5a by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
Use /dev/fd instead of /proc/self/fd

/dev/fd exists on all operating systems I can test (Linux, FreeBSD, macOS),
whereas /proc/self/fd only appears to exist on Linux.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/644efe9517eb48d18decc33d5bed5276fcdd2f5a

Git commit bb928288077ff0fcab50a881e1ade2cf249f7a14 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
test-runner: Implement is_debugger_attached() for FreeBSD

FreeBSD provides a PROC_TRACE_STATUS procctl(2) to detect this directly.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bb928288077ff0fcab50a881e1ade2cf249f7a14

Git commit 42bf011f65a1aa5b7dcb664026b02c48170d07a5 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
test-helpers: use sysctl() to count open fds on FreeBSD

This allows running the tests on FreeBSD without mounting fdescfs.
Previously you had to run `mount -t fdescfs -o linrdlnk null /dev/fd` to
get file descriptors >=3 listed in /dev/fd.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/42bf011f65a1aa5b7dcb664026b02c48170d07a5

Git commit 382f368a2795cacbe0f3690f9bf5be749f9f0f5e by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
Detect FreeBSD versions with broken MSG_CMSG_CLOEXEC

If we are compiling against a version of FreeBSD where MSG_CMSG_CLOEXEC
does not work, use the fallback directly. This was only fixed recently
(in https://cgit.freebsd.org/src/commit/?id=6ceacebdf52211).

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/382f368a2795cacbe0f3690f9bf5be749f9f0f5e

Git commit ed423b8ac60a51afeb658c5d990fa672107f86d8 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
Allow event-loop signal tests to pass on FreeBSD

On Linux the signal will be immediately visible in the epoll_wait() call.
However, on FreeBSD we may need a small delay between kill() call and the
signal being visible to the kevent() call. This sometimes happens when the
signal processing and kevent processing runs on different CPUs in the
kernel, so becomes more likely when the system is under load (e.g. running
all tests in parallel).

See https://github.com/jiixyj/epoll-shim/pull/32

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ed423b8ac60a51afeb658c5d990fa672107f86d8

Git commit 4d473310eb7aeeb5ead9e4cd610832a48df77668 by Alexander Richardson (on behalf of Alex Richardson) on 10/09/2021 at 11:35..
gitlab-ci: add a FreeBSD test job

This uses the new FreeBSD supported added in
https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/114
After the latest series of commits, we should be able to compile and
successfully run all tests, so adding this CI job will prevent any future
FreeBSD regressions.

Signed-off-by: Alex Richardson <Alexander.Richardson at cl.cam.ac.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4d473310eb7aeeb5ead9e4cd610832a48df77668

Git commit 7ef305d073f8d86aa7bf8a41ffcbbc7984b1f55a by Simon Ser on 16/09/2021 at 08:25..
protocol: mention that keymap mapping must be read-only

It may be obvious that the mapping must be established in read-only
mode, but it wasn't specified in the specification text.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7ef305d073f8d86aa7bf8a41ffcbbc7984b1f55a

Git commit 616b4ae6180499b112734d544f217a2704509c13 by Olivier Fourdan on 16/09/2021 at 15:31..
shm: Relax shm_pool_create_buffer() validity check

shm_pool_create_buffer() can raise a false WL_SHM_ERROR_INVALID_STRIDE
error under some circumstances because of integer division.

Fix this by using a strict comparison operator instead of lower or
equal.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Demi Marie Obenour <demi at invisiblethingslab.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/235
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/616b4ae6180499b112734d544f217a2704509c13

Git commit c6c1bbe4abf9e5ce159442be22c1278d39844c08 by Matt Hoosier on 29/09/2021 at 14:43..
protocol: mention that buffers with alpha are assumed premultiplied

This turns out to be the default assumption by compositors, OpenGL, and the DRM
framework. Let's say it explicitly to avoid misinterpretation.

See https://lists.freedesktop.org/archives/wayland-devel/2021-September/041990.html.

Signed-off-by: Matt Hoosier <matt.hoosier at garmin.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c6c1bbe4abf9e5ce159442be22c1278d39844c08

Git commit d564823cfdbdb62e4d84a3b2d15fa016fd7fb5dd by Daniel Stone (on behalf of Damian Hobson-Garcia) on 09/10/2021 at 13:09..
server: stop wl_display event loop from any context

Calling wl_display_terminate() will exit the wl_display event loop
at the start of the next loop iteration.  This works fine when
wl_display_terminate() is called after the event loop wakes up
from polling on the added event sources.  If, however, it is
called before polling starts, the event loop will not exit until
one or more event sources trigger.  Depending on the types of event
sources, they may never trigger (or may not trigger for a long time),
so the event loop may never exit.

Add an extra event source to the wl_display event loop that will trigger
whenever wl_display_terminate() is called, so that the event loop will
always exit.

Fixes #201

Signed-off-by: Damian Hobson-Garcia <dhobsong at igel.co.jp>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d564823cfdbdb62e4d84a3b2d15fa016fd7fb5dd

Git commit f00cfda73723c4854538f7c3145ccd4f0cf5107a by Simon Ser (on behalf of Manuel Stoeckl) on 28/10/2021 at 12:30..
client: handle fcntl error on bad fd in wl_display_connect

This makes wl_display_connect fail immediately instead of
succeeding when the integer provided by WAYLAND_SOCKET does
not refer to a valid file descriptor.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f00cfda73723c4854538f7c3145ccd4f0cf5107a

Git commit fceabb7e9e167e1100c244bb4f460c8a346a5478 by Simon Ser (on behalf of Jonas Ådahl) on 28/10/2021 at 12:39..
protocol: Add wl_surface.offset

This is meant to address the issue where the call to 'wl_surface.attach'
is done by e.g. Vulkan, meaning applications cannot affect the values of
the offset passed as the x and y arguments.

The lack of ability to pass these is problematic when using the Vulkan
for e.g. drawing DND surfaces, as the buffer offset is used to implement
the drag icon hotspots.

Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/148
Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fceabb7e9e167e1100c244bb4f460c8a346a5478

Git commit 0cdd2a5c54771d18dc3ec9d690b7fbb754b90dfd by Simon Ser (on behalf of Simon McVittie) on 28/10/2021 at 12:46..
build: Include the Wayland minor version in libraries' ABI versions

The ABI of a shared library on Linux is given by a major version, which
is part of the SONAME and is incremented (rarely) on incompatible
changes, and a minor version, which is part of the basename of the
regular file to which the SONAME provides a symlink.

Until now, the ABI minor version was hard-coded, which means we can't
tell which of a pair of Wayland libraries is newer (and therefore
likely to have more symbols and/or fewer bugs).

libwayland-egl already had ABI major version 1, so we can use the
"marketing" version number as the ABI major.minor version number
directly, so Wayland 1.19.90 would produce
libwayland-egl.so.1 -> libwayland-egl.so.1.19.90.

libwayland-cursor and libwayland-server have ABI major version 0,
and OS distributions don't like it when there's a SONAME bump for no
good reason, so use their existing ABI major version together with
the "marketing" minor version:
libwayland-cursor.so.0 -> libwayland-cursor.so.0.19.90.

If the Wayland major version number is incremented to 2, we'll have to
rethink this, so add some error() to break the build if/when that
happens. Assuming that Wayland 2.0 would involve breaking changes,
the best way would probably to bump all the SONAMEs to
libwayland-foo.so.2.

Resolves: https://gitlab.freedesktop.org/wayland/wayland/-/issues/175
Signed-off-by: Simon McVittie <smcv at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0cdd2a5c54771d18dc3ec9d690b7fbb754b90dfd

Git commit aa883215174f0b389c1b7999b6a19c2be2c05c99 by Simon Ser on 28/10/2021 at 14:03..
protocol: add note about wl_output.done in events

Mention that geometry, mode and scale wl_output events are followed
by a done event.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aa883215174f0b389c1b7999b6a19c2be2c05c99

Git commit 9c05e6c475e0f67519d88f285a971b5e51455a1d by Simon Ser on 28/10/2021 at 14:03..
protocol: add wl_output.{name,description}

This is inspired from xdg-output-unstable-v1. This allows clients to
get the name and description without having to use xdg_output. This
should eventually allow us to restrict xdg_output to clients like
Xwayland.

The name is a unique non-persistent user-friendly string that can be
used to refer to an output. This can be used by Wayland clients to
refer to a specific wl_output (e.g. across processes or in CLI
arguments).

The description is a non-unique user-friendly string that can be
displayed to the user.

Signed-off-by: Simon Ser <contact at emersion.fr>
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/7
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9c05e6c475e0f67519d88f285a971b5e51455a1d

Git commit ca893075ef75f2ad4688d8fc1dcc20260f91afe9 by Daniel Stone (on behalf of Derek Foreman) on 02/11/2021 at 11:27..
debug: Fix printing of new ids

The client side closure traces have incorrect object ids for new server
generated objects. This is because create_proxies() overwrites the id in
'n' type arguments by storing a pointer to the actual object in the 'o'
field of the union.

Getting back to an id from this pointer requires accessing a structure
that isn't visible outside of wayland-client.c.

Add a function pointer to fish the correct value out of the argument and
pass it to wl_closure_print.

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ca893075ef75f2ad4688d8fc1dcc20260f91afe9

Git commit ebfc70cdf7c63082e2c9cccf47f0616a2e8969b0 by Simon Ser on 04/11/2021 at 08:53..
protocol: wl_shm uses pre-multiplied alpha

Add a note about pre-multiplied alpha for all wl_shm formats.
Include an escape hatch in the spec to allow other protocol
extensions to override this.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/61
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ebfc70cdf7c63082e2c9cccf47f0616a2e8969b0

Git commit 20fd3b3af974c8cb0b172a97d4f47ec9c5458566 by Simon Ser (on behalf of Duncan McIntosh) on 04/11/2021 at 09:02..
wayland-shm: Check the size of sealed memory if ignoring SIGBUS handlers

In 11623e8f, SIGBUS handlers aren't set if F_SEAL_SHRINK is configured on
the memory. This helps avoid setting up handlers with cooperative clients;
however, if an application gives an incorrect size, the compositor would
access it anyways, figuring SIGBUS is impossible, and crash.

This can be fixed by simply removing the seal-checking logic and always
setting the signal handler. However, it seems that fstat can give the size
of the memfd, so we can check that the size we were told is within the
region. Since it's sealed to shrinking, it must never be shrunk in future,
so we can really (hopefully) ignore SIGBUS.

I was worried that fstat wasn't supported for this, but shm_overview(7) does
mention that it is a possible use.

The best solution would likely be avoiding SIGBUS entirely with
MAP_NOSIGBUS, but that hasn't been merged yet and wouldn't help systems
without it (e.g. with older kernels).

A proof-of-concept of this crash is attached with the merge request. Running
it with this patch gives an invalid-shm error, which is correct.

Signed-off-by: Duncan McIntosh <duncan82013 at live.ca>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/20fd3b3af974c8cb0b172a97d4f47ec9c5458566

Git commit 5420619f91e07d440f77db5ab0edf662a8d46479 by Simon Ser on 04/11/2021 at 19:39..
build: bump to version 1.19.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5420619f91e07d440f77db5ab0edf662a8d46479

Git commit 1638dad6137d7dd26a4a8c5d931bbb5c52dda46c by Manuel Stoeckl on 12/11/2021 at 01:15..
protocol: sync wl_shm.format with libdrm 2.4.108

The four new formats added (all 16 bpc, RGB colorspace) are very useful
for applications providing high bit depth content and rendering their
buffers on CPU, as computations with 16 bit unsigned integers are often
more efficient than with the (half float, 10 bit) alternative formats.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1638dad6137d7dd26a4a8c5d931bbb5c52dda46c

Git commit 78590b3aff9c71407ff245c120b4d844e6b79c41 by Simon Ser (on behalf of Jan Grulich) on 15/11/2021 at 13:20..
protocol: clarify wl_data_offer::selection

Clearly specify that switching focus within the same client
doesn't mean a new selection will be send.

Signed-off-by: Jan Grulich <jgrulich at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/78590b3aff9c71407ff245c120b4d844e6b79c41

Git commit dcd8a62b183ce684f7c3b49bb5f59750fd2f1241 by Simon Ser on 18/11/2021 at 15:30..
build: bump to version 1.19.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dcd8a62b183ce684f7c3b49bb5f59750fd2f1241

Git commit 28c2d8321b3ef9b206344f5eb911aeb5108703e8 by Simon Ser on 02/12/2021 at 19:51..
build: bump to version 1.19.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/28c2d8321b3ef9b206344f5eb911aeb5108703e8

Git commit ba82e0d80617f720b133ecf3a251a53cca47a6f3 by Simon Ser on 07/12/2021 at 23:27..
meson: override dependencies to ease use as subproject

Make it easier to use Wayland as a Meson subproject by overriding
dependencies we define. This allows to easily build Wayland as a
subproject like so:

    subproject('wayland', required: false, default_options: ['documentation=false'])

After this statement, the wayland-* dependencies will use the subproject
instead of the system if available.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ba82e0d80617f720b133ecf3a251a53cca47a6f3

Git commit 75c1a93e2067220fa06208f20f8f096bb463ec08 by Simon Ser on 09/12/2021 at 16:20..
build: bump to version 1.20.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/75c1a93e2067220fa06208f20f8f096bb463ec08

Git commit 971a0a8b84b0891f0e4e56f25e4c5ae283e1a4c8 by Mikhail Gusarov on 12/12/2021 at 14:09..
doc: Clarify position of file descriptors in the stream

The specification left the position and order of file
descriptors unspecified. Specify that

- order of file descriptors is maintained
- position of file descriptors is bounded, but loose

Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/971a0a8b84b0891f0e4e56f25e4c5ae283e1a4c8

Git commit eca836add596f5c00fd556613d510df81f0e23b2 by Mikhail Gusarov on 18/12/2021 at 14:01..
doc: Clarify that null terminator is included in string length

Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eca836add596f5c00fd556613d510df81f0e23b2

Git commit 8893573651f16f1c3079c1bcbba7d82663c4f6a1 by Simon Ser (on behalf of Max Ihlenfeldt) on 07/01/2022 at 13:30..
protocol: clarify wl_shm_pool.resize

Add a note that the request only changes the size of the memory mapping
and does not touch the mapped file.

Signed-off-by: Max Ihlenfeldt <mihlenfeldt at igalia.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8893573651f16f1c3079c1bcbba7d82663c4f6a1

Git commit ea237db7f66affd0ace847411ec2d7737fc79114 by Simon Ser (on behalf of Derek Foreman) on 10/01/2022 at 09:52..
tests: Fix tc_client_fd_leaks_exec test

tc_client_fd_leaks and tc_client_fd_leaks_exec are currently the exact
same test. It seems clear from the name that the latter was intended to
spawn sanity_fd_leak_exec instead of sanity_fd_leak.

Fixes #121

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ea237db7f66affd0ace847411ec2d7737fc79114

Git commit aa6a07c2fe9c95843d9686b4f9a43f63ee67e071 by Simon Ser (on behalf of shierote) on 10/01/2022 at 10:07..
doc: fix typo in wl_data_device.data_offer

Signed-off-by: Taishi Eguchi <taishi2060 at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aa6a07c2fe9c95843d9686b4f9a43f63ee67e071

Git commit 31b17e3d8533739970bdc8692b749af41c5d24af by Simon Ser on 10/01/2022 at 10:13..
build: re-open main branch for regular development
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/31b17e3d8533739970bdc8692b749af41c5d24af

Git commit 65616e946b547bc2b20ca004662447fbadf990e3 by Simon Ser on 10/01/2022 at 13:51..
tests: use __typeof__ instead of typeof

typeof is a GNU extension. Compiler extensions should be prefixed
with __ per the C standard.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/65616e946b547bc2b20ca004662447fbadf990e3

Git commit 0d314c4a04ef1b86a1ea66107b2d1a8d1bcd93b9 by Simon Ser on 10/01/2022 at 14:08..
build: don't rely on implicit GNU extensions

Currently libwayland assumes GNU extensions will be available, but
doesn't define the C standard to use. Instead, let's unconditionally
enable POSIX extensions, and enable GNU extensions on a case-by-case
basis as needed.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0d314c4a04ef1b86a1ea66107b2d1a8d1bcd93b9

Git commit 40c275f642e3895aeb748403fcdfd92d7d875d65 by Simon Ser on 10/01/2022 at 14:08..
build: set c_std=c99

Set explicitly the C standard to use to make sure we don't use
features not available on our target platforms.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/40c275f642e3895aeb748403fcdfd92d7d875d65

Git commit ee92898cb5fbf2d34aed7d593cbc8966b1b563de by Simon Ser (on behalf of Julian Orth) on 31/01/2022 at 21:31..
protocol: xkb_v1 is null-terminated

Closes #270

Signed-off-by: Julian Orth <ju.orth at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ee92898cb5fbf2d34aed7d593cbc8966b1b563de

Git commit 3b0266a35d4dd6b65189fd7ca7819297d42fb514 by Héctor Orón Martínez on 01/02/2022 at 17:01..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3b0266a35d4dd6b65189fd7ca7819297d42fb514

Git commit 170389b3df1ec6103df6d261f8a78b23c273d736 by Héctor Orón Martínez on 01/02/2022 at 17:05..
debian/libwayland-client0.symbols: refresh

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/170389b3df1ec6103df6d261f8a78b23c273d736

Git commit d7185dad16f9cd6d42fc623d3b96682047318f01 by Héctor Orón Martínez on 01/02/2022 at 17:07..
debian/libwayland-server0.symbols: refresh

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d7185dad16f9cd6d42fc623d3b96682047318f01

Git commit 3d7c3cb4d3a7784e76e0646ba8b6828fb97d62ee by Héctor Orón Martínez on 01/02/2022 at 17:14..
Release Debian version 1.20.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3d7c3cb4d3a7784e76e0646ba8b6828fb97d62ee

Git commit 4b05ecb8f7506e4e4d62532a0a3500c2b5711b38 by Simon Ser on 02/02/2022 at 14:04..
build: explicitly set check arg in run_command()

Fixes the following warning:

    WARNING: You should add the boolean check kwarg to the run_command call.
             It currently defaults to false,
             but it will default to true in future releases of meson.
             See also: https://github.com/mesonbuild/meson/issues/9300

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4b05ecb8f7506e4e4d62532a0a3500c2b5711b38

Git commit 5eb5620cbd317aac4a61e357c3c92bd889d6079b by Simon Ser on 05/02/2022 at 14:25..
Use zalloc for structs

When allocating memory for structs, use zalloc instead of malloc.
This ensures the memory is zero-initialized, and reduces the risk
of forgetting to initialize all struct fields.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5eb5620cbd317aac4a61e357c3c92bd889d6079b

Git commit e949b3bfbb92363724ef1bd5b2f5736de8a9f98a by Simon Ser (on behalf of Fergus Dall) on 05/02/2022 at 14:29..
display-test: Fix a race condition in test suite

Several tests in this suite use setting and checking client.display_stopped (in
test-compositor.h) to synchronise between threads. This is a data race because
display_stopped is a non-atomic int. Fix this by making it an atomic_bool
instead. We don't need to change the access code because reads and writes are
sequentially consistent by default.

This can be reproduced (with both clang and gcc) by running
```
meson -Db_sanitize=thread build
cd build
ninja
meson test
```

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e949b3bfbb92363724ef1bd5b2f5736de8a9f98a

Git commit 4ebd997de2b52c0998a91436ed05ffbe6d56a306 by Simon Ser (on behalf of Vlad Zahorodnii) on 05/02/2022 at 14:33..
cursor: Remove unused XcursorLibraryLoadImages() function

XcursorLibraryLoadImages() function is unused and not exported according to
objdump, so its removal should be an ABI compatible change.

Signed-off-by: Vlad Zahorodnii <vlad.zahorodnii at kde.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4ebd997de2b52c0998a91436ed05ffbe6d56a306

Git commit c78807520f6c458f3afda3c709fb0f4862971958 by Simon Ser on 05/02/2022 at 14:39..
meson: build requirement to 0.56.0

meson.project_build_root() is only available with 0.56.0.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c78807520f6c458f3afda3c709fb0f4862971958

Git commit 7816f0b84218dbfa63689052c0a996600902cd8e by Simon Ser on 05/02/2022 at 14:39..
meson: use project build root for doxygen output

meson.build_root() returns the parent's build directory if Wayland is
a subproject. This fails with:

    error: tag OUTPUT_DIRECTORY: Output directory '<parent-build-dir>/doc/doxygen' does not exist and cannot be created

Instead, use meson.project_build_root(), which returns the subproject's
build directory.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7816f0b84218dbfa63689052c0a996600902cd8e

Git commit d690712b7b83faeb8fca4015b296aece2fb30c65 by Simon Ser on 05/02/2022 at 14:39..
meson: use absolute paths for doxygen stamp files

The relative paths are incorrect when running as a subproject.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d690712b7b83faeb8fca4015b296aece2fb30c65

Git commit af8b5c07826ed2f2624cf87c0e2da4f8e9089ee0 by Mikhail Gusarov on 21/02/2022 at 10:13..
protocol: wl_shm.format events are actually sent after bind

Protocol documentation mistakenly specified that wl_shm.format
events are sent at connection setup time, but that's impossible
(clients do not yet know ID of wl_shm object at the time) and
contradicts implementation in libwayland.

Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/af8b5c07826ed2f2624cf87c0e2da4f8e9089ee0

Git commit ca4678354c4a7c21bfd184e604ad7a3c8224e10c by Alexander Irion on 08/03/2022 at 13:48..
connection: Make wl_closure_print output atomic

When multiple threads are used, output from different threads was intermixed in one line. That what breaking parsing of the log messages. Now, intermixing is prevented by using a memstream.

Signed-off-by: Alexander Irion <alexander_irion at mentor.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ca4678354c4a7c21bfd184e604ad7a3c8224e10c

Git commit 02661fde24b726edea201e2d4c2382b2723303cd by Simon Ser on 25/03/2022 at 09:14..
build: use full_path() instead of path()

Fixes the following warning:

    WARNING: Project targeting '>= 0.56.0' but tried to use feature deprecated
    since '0.55.0': ExternalProgram.path. use ExternalProgram.full_path() instead

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/02661fde24b726edea201e2d4c2382b2723303cd

Git commit 24e0a7b622d3f0e5fac043cb90e0e95093b650d5 by Simon Ser on 25/03/2022 at 09:14..
build: specify native arg in add_languages()

Fixes the following warning:

    WARNING: add_languages is missing native:, assuming languages are wanted for
    both host and build.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/24e0a7b622d3f0e5fac043cb90e0e95093b650d5

Git commit b6bbc0c44dd1d533700a973b3837410d4a9df7c7 by Simon Ser on 25/03/2022 at 09:14..
build: use get_variable(pkgconfig) instead of get_pkgconfig_variable()

We don't get a warning for it yet, but get_pkgconfig_variable() is
deprecated.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b6bbc0c44dd1d533700a973b3837410d4a9df7c7

Git commit ae263cca3e848cb2c67a28a690bd5e5d6968faae by Simon Ser (on behalf of Aleksandr Mezin) on 25/03/2022 at 09:43..
util: always check result of wl_array_add()

Not checking the result of wl_array_add() can cause writes past the end of the
allocated buffer if realloc fails.

Signed-off-by: Aleksandr Mezin <mezin.alexander at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ae263cca3e848cb2c67a28a690bd5e5d6968faae

Git commit 03e8a1f84b6a15c9531db1ca8d0a25f9fcffaf25 by Simon Ser (on behalf of Aleksandr Mezin) on 25/03/2022 at 09:43..
util: set errno in wl_map_reserve_new()

And also fix wl_connection_demarshal() to pass through that errno.

Signed-off-by: Aleksandr Mezin <mezin.alexander at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/03e8a1f84b6a15c9531db1ca8d0a25f9fcffaf25

Git commit 884d5fe3abc98c8b97f71974752ff9f9a3056e8e by Simon Ser (on behalf of Aleksandr Mezin) on 25/03/2022 at 09:43..
util: set errno in wl_map_insert_at()

And add errno checks in callers, where it seems to be necessary.

Signed-off-by: Aleksandr Mezin <mezin.alexander at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/884d5fe3abc98c8b97f71974752ff9f9a3056e8e

Git commit 79c84ed3f132fd6bc01c2f62a8477d8d1a462b67 by Simon Ser (on behalf of Aleksandr Mezin) on 25/03/2022 at 09:43..
client, server: handle wl_map_insert_new() failures

Signed-off-by: Aleksandr Mezin <mezin.alexander at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/79c84ed3f132fd6bc01c2f62a8477d8d1a462b67

Git commit 868eb99eb07965f34461693d82c68dba503aec46 by Simon Ser (on behalf of Peter Hutterer) on 28/03/2022 at 17:31..
protocol: add the wl_pointer.axis_value120 events

These events are for high-resolution wheels. Each logical wheel click
represents an axis value120 value of 120, fractions of a wheel click an
integer fraction thereof. The new event replaces
wl_pointer.axis_discrete for wl_pointer versions 8 and above.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/868eb99eb07965f34461693d82c68dba503aec46

Git commit 962aefda42f7bbfb6d9b64b7b177e232213d8a59 by Simon Ser on 28/03/2022 at 19:06..
server: introduce wl_signal_emit_mutable

wl_signal_emit doesn't handle well situations where a listener removes
another listener. This can happen in practice: wlroots and Weston [1]
both have private helpers to workaround this defect.

wl_signal_emit can't be fixed without breaking the API. Instead,
introduce a new function. Callers need to make sure to always remove
listeners when they are free'd.

[1]: https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/457

Signed-off-by: Simon Ser <contact at emersion.fr>
Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/962aefda42f7bbfb6d9b64b7b177e232213d8a59

Git commit de57106c94c31bd3e77a53c92af4654358c2bd19 by illiliti on 02/04/2022 at 14:04..
meson: Use proper type for bools

Fix invalid usage of bools which violates official meson specification and thus
breaks muon, an implementation of meson written in C.

Signed-off-by: illiliti <illiliti at protonmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/de57106c94c31bd3e77a53c92af4654358c2bd19

Git commit d066c4bd4efce5d6b63934e839cff205fffe7af0 by Simon Ser (on behalf of Sigrid Solveig Haflínudóttir) on 03/04/2022 at 16:17..
connection: fix asan report on sendmsg call

Initialiaze the entire msghdr struct to 0 before use.

Example of the report fixed with this change:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==20035==ERROR: AddressSanitizer: SEGV on unknown address 0x2dad4dbffffa0d (pc 0x0055555c7488 bp 0x007fffffc760 sp 0x007fffffc760 T0)
==20035==The signal is caused by a READ memory access.
    #0 0x55555c7488 in read_msghdr(void*, __sanitizer::__sanitizer_msghdr*, long) (/home/ftrvx/w/_/uxn/bin/uxnemu+0x77488)
    #1 0x55555c810c in sendmsg (/home/ftrvx/w/_/uxn/bin/uxnemu+0x7810c)
    #2 0x7ff7f2db20 in wl_connection_flush /home/ftrvx/q/wayland/build/../src/connection.c:315:10
    #3 0x7ff7f2d014 in wl_display_flush /home/ftrvx/q/wayland/build/../src/wayland-client.c:2154:9
    #4 0x7ff7e80bc0  (/lib/libSDL2-2.0.so.0+0x104bc0)
    #5 0x7ff7e523b0  (/lib/libSDL2-2.0.so.0+0xd63b0)
    #6 0x7ff7e534e4  (/lib/libSDL2-2.0.so.0+0xd74e4)
    #7 0x7ff7e535e8  (/lib/libSDL2-2.0.so.0+0xd75e8)
    #8 0x7ff7daad54  (/lib/libSDL2-2.0.so.0+0x2ed54)
    #9 0x7ff7dab130  (/lib/libSDL2-2.0.so.0+0x2f130)
    #10 0x555565bb40 in main /home/ftrvx/w/_/uxn/src/uxnemu.c:519:2
    #11 0x7ff7f62484 in libc_start_main_stage2 /builddir/musl-1.1.24/src/env/__libc_start_main.c:94:2

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/home/ftrvx/w/_/uxn/bin/uxnemu+0x77488) in read_msghdr(void*, __sanitizer::__sanitizer_msghdr*, long)
==20035==ABORTING

Signed-off-by: Sigrid Solveig Haflínudóttir <ftrvxmtrx at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d066c4bd4efce5d6b63934e839cff205fffe7af0

Git commit 2bcc27ff368bb04a86d1cae3d8e62fc31c4bfa54 by Simon Ser (on behalf of Sigrid Solveig Haflínudóttir) on 03/04/2022 at 16:17..
connection: change clen type in build_cmsg to size_t

To avoid implicit conversion since msg_control's type is size_t.

Signed-off-by: Sigrid Solveig Haflínudóttir <ftrvxmtrx at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2bcc27ff368bb04a86d1cae3d8e62fc31c4bfa54

Git commit 6c424e9d4c92087958928492e2b5635d4d5f2b36 by Pekka Paalanen (on behalf of Olivier Fourdan) on 05/04/2022 at 10:42..
shm: Close file descriptors not needed

Commit 5a981ee8 implemented a fallback path for platforms which do not
support mremap() such as FreeBSD.

To do so, the file descriptor for the mmap() is not closed immediately
but instead kept as long as the pool exists.

That induces more file descriptors kept open for longer, which in turn
may cause problems as wl_shm may be using a lot of file descriptors,
especially with Xwayland which can create a lot of pixmaps on behalf of
its X11 clients.

For platforms where mremap() is available, keeping those file
descriptors opened is a bit of a waste and may cause exhaustion of file
descriptors sooner that before commit 5a981ee8.

Only keep the mmap() file descriptor open on platforms which do not
implement mremap()  and close it immediately as before on others.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1283
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6c424e9d4c92087958928492e2b5635d4d5f2b36

Git commit ff972f85b245d6564ec30c739a73437bcf7fac0e by Simon Ser on 11/04/2022 at 09:21..
os: drop unnecessary memcpy in wl_os_mremap_maymove

FreeBSD doesn't support mremap [1], so we have a fallback
implementation based on munmap+mmap. We memcpy from the old memory
region to the new one, however this is unnecessary because the new
mapping references the same file as the old one.

Use msync to make sure any pending write is flushed to the underlying
file before we map the new region.

[1]: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=59912

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ff972f85b245d6564ec30c739a73437bcf7fac0e

Git commit 1078ee4993cc45a77bf7af79cb3f307a132123c6 by Daniel Stone (on behalf of Demi Marie Obenour) on 11/04/2022 at 23:04..
wl_shell is not mandatory

Even though it is part of wayland.xml, wl_shell is not mandatory for
compositors to implement, and may be removed in a future version.

Signed-off-by: Demi Marie Obenour <demiobenour at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1078ee4993cc45a77bf7af79cb3f307a132123c6

Git commit 04efea1727f243ac1d243cee40daad1692fe2f90 by Simon Ser on 05/05/2022 at 09:24..
Remove publish-doc

We don't use this script anymore.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/04efea1727f243ac1d243cee40daad1692fe2f90

Git commit 2dcc35af81cfc894335088a3843fc26af7ac9306 by Simon Ser on 06/05/2022 at 19:57..
cursor: use MAP_FAILED instead of hardcoded constant

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2dcc35af81cfc894335088a3843fc26af7ac9306

Git commit 9402afc353bb359b4d87622451abd635d111d356 by Simon Ser on 10/05/2022 at 14:02..
build: sanity check options

Fail when tests/documentation is enabled without libraries. Fail
when neither scanner nor libraries is enabled, because we don't
build anything in that case.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9402afc353bb359b4d87622451abd635d111d356

Git commit f7ca2c65f3bffd45b54d32d4ccf467c31d48a39b by Pekka Paalanen (on behalf of Simon Ser) on 11/05/2022 at 07:21..
docs/publican: ensure output encoding is UTF-8

Without this, DocBook picks the output encoding and on some setups
we end up with ISO-8859-1. Tested by booting a fresh Alpine VM,
verifying that the generated HTML is using the incorrect charset,
applying the patch, and verifying that the generated HTML is fixed.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f7ca2c65f3bffd45b54d32d4ccf467c31d48a39b

Git commit b19488c7154b902354cb26a27f11415d7799b0b2 by Derek Foreman on 16/05/2022 at 14:39..
util: Limit size of wl_map

Since server IDs are basically indistinguishable from really big client
IDs at many points in the source, it's theoretically possible to overflow
a map and either overflow server IDs into the client ID space, or grow
client IDs into the server ID space. This would currently take a massive
amount of RAM, but the definition of massive changes yearly.

Prevent this by placing a ridiculous but arbitrary upper bound on the
number of items we can put in a map: 0xF00000, somewhere over 15 million.
This should satisfy pathological clients without restriction, but stays
well clear of the 0xFF000000 transition point between server and client
IDs. It will still take an improbable amount of RAM to hit this, and a
client could still exhaust all RAM in this way, but our goal is to prevent
overflow and undefined behaviour.

Fixes #224

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b19488c7154b902354cb26a27f11415d7799b0b2

Git commit d01868413ff12b09729a07b0f1ccef2adb40361a by Simon Ser on 23/05/2022 at 08:53..
server: add wl_global_get_version

Add a helper to check the advertised version of a global. This can
be handy when checking whether a compositor feature is supported,
instead of having to store the version passed to wl_global_create
separately.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d01868413ff12b09729a07b0f1ccef2adb40361a

Git commit 4ea5ad1d11973344446d4078cfd45114101442b0 by Simon Ser on 23/05/2022 at 08:59..
cursor: remove private Xcursor int typedefs

Just use the types directly instead.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4ea5ad1d11973344446d4078cfd45114101442b0

Git commit 7658cff241d7d89fba3733e0f3d0718993308450 by Simon Ser on 23/05/2022 at 08:59..
cursor: drop XcursorTrue and XcursorFalse

Just use <stdbool.h> instead.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7658cff241d7d89fba3733e0f3d0718993308450

Git commit 13d4ae01cbc70f0fcd37d883869382f3a567425a by Simon Ser on 23/05/2022 at 08:59..
cursor: drop XCURSOR_LIB_* defines

These are unused.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/13d4ae01cbc70f0fcd37d883869382f3a567425a

Git commit 5f5f1da691f9888c94552ab72a2cca61c01a12ba by Simon Ser on 23/05/2022 at 08:59..
cursor: drop whitespace before parens in function calls

This is in line with the rest of the Wayland code style.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5f5f1da691f9888c94552ab72a2cca61c01a12ba

Git commit 329be63d6ba4d52e08ae0bef78974bcf0c11ab31 by Simon Ser on 23/05/2022 at 08:59..
cursor: fix define style

Don't use tabs, don't align.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/329be63d6ba4d52e08ae0bef78974bcf0c11ab31

Git commit b0a4e633512e966c00a47184d4a303091ca3dcdc by Simon Ser on 23/05/2022 at 08:59..
cursor: fix struct declaration style

Use tabs for indentation, don't use tabs to align field names.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b0a4e633512e966c00a47184d4a303091ca3dcdc

Git commit 92e758834c4ba55cd3d7dc29b812f7fc963296f6 by Simon Ser on 23/05/2022 at 08:59..
cursor: fix variable declaration style

Use a single space between type and variable name.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/92e758834c4ba55cd3d7dc29b812f7fc963296f6

Git commit 450bb7c1452e901660311f1d971d007b3769b3fc by Simon Ser on 23/05/2022 at 08:59..
cursor: remove unnecessary if before free

free(NULL) is valid and is a no-op.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/450bb7c1452e901660311f1d971d007b3769b3fc

Git commit 315126d3bd9291d4d4c7bf316b9e5a3f694402c9 by Simon Ser on 23/05/2022 at 08:59..
cursor: fix indentation

Use tabs.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/315126d3bd9291d4d4c7bf316b9e5a3f694402c9

Git commit 21394fd5f77dc84eb3bcf3ba3fcd74e69393d610 by Simon Ser on 23/05/2022 at 08:59..
cursor: fix spacing around conditions and loops

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/21394fd5f77dc84eb3bcf3ba3fcd74e69393d610

Git commit a46d8be4e1e8d3fc9920e280282b0e32054e6d02 by Simon Ser on 23/05/2022 at 08:59..
cursor: remove struct typedefs, rename to snake case

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a46d8be4e1e8d3fc9920e280282b0e32054e6d02

Git commit 3c12a7a1bef7c9c316925dce55a2dff2df4c87d2 by Simon Ser on 23/05/2022 at 08:59..
cursor: fix whitespace in function args definitions

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3c12a7a1bef7c9c316925dce55a2dff2df4c87d2

Git commit bcfcd49232e3881d995da83a15dbc2897148c5fb by Simon Ser on 23/05/2022 at 08:59..
cursor: rename functions to snake case

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/bcfcd49232e3881d995da83a15dbc2897148c5fb

Git commit 963014459c5eb54b1317c688f9e2dfbac44a672d by Simon Ser on 23/05/2022 at 08:59..
cursor: convert macros to functions

Improves readability since there's no need for so many parentheses
anymore, adds type safety. The compiler will inline the function
automatically as necessary.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/963014459c5eb54b1317c688f9e2dfbac44a672d

Git commit 245d30ecb8a5001ec698e2db1fd77c3661563da5 by Simon Ser on 23/05/2022 at 08:59..
cursor: refactor xcursor_theme_inherits

Use early returns and breaks to avoid dealing with very long
indentation lines.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/245d30ecb8a5001ec698e2db1fd77c3661563da5

Git commit cf9065dfb8823d663e7e1e0b8f830d370381eff3 by Simon Ser on 23/05/2022 at 08:59..
cursor: drop xcursor_file abstraction

Just use FILE * directly instead.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cf9065dfb8823d663e7e1e0b8f830d370381eff3

Git commit 93b61fde1f4fae57222b176a789d993454cb6e91 by Simon Ser on 23/05/2022 at 08:59..
cursor: rename local variables to snake case

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/93b61fde1f4fae57222b176a789d993454cb6e91

Git commit 5e4253ed50cfc9a132b5231f68a7084e0c3dc417 by Simon Ser on 23/05/2022 at 10:13..
util: fix code block language in docs

Without {.xml}, Doxygen interprets the code as C. See [1] for
details.

[1]: https://www.doxygen.nl/manual/commands.html#cmdcode

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5e4253ed50cfc9a132b5231f68a7084e0c3dc417

Git commit 24244f26bfb39f7aef7606b503172bcb122b6477 by Pekka Paalanen (on behalf of Xavier Claessens) on 24/05/2022 at 14:09..
Meson: Override wayland-scanner if it can be run

This allows projects to use Wayland as a Meson subproject and get the
wayland-scanner executable when doing find_program('wayland-scanner').

Signed-off-by: Xavier Claessens <xavier.claessens at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/24244f26bfb39f7aef7606b503172bcb122b6477

Git commit 73d4d2410e2e0d0579bacc7f87d37bf4ec15cbbb by Simon Ser on 26/05/2022 at 18:15..
build: bump to version 1.20.91 for the alpha release

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/73d4d2410e2e0d0579bacc7f87d37bf4ec15cbbb

Git commit c2a150f7c253c65d376821df900fbe42b89c7e94 by Simon Ser on 27/05/2022 at 14:01..
cursor: remove xcursor_file_load_images wrapper

It's just calling xcursor_xc_file_load_images.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c2a150f7c253c65d376821df900fbe42b89c7e94

Git commit 0b8793ab0c5a6324490fc7cd2c51832c3fcc7c03 by Simon Ser on 27/05/2022 at 20:41..
cursor: remove unnecessary parentheses in load_all_cursors_from_dir

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0b8793ab0c5a6324490fc7cd2c51832c3fcc7c03

Git commit 6cf5e8f9324095f2226ee666eee9090fbc6da287 by Simon Ser on 27/05/2022 at 20:41..
cursor: use getline instead of fgets

This avoids storing 8KiB on the stack, and removes the line length
limit.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6cf5e8f9324095f2226ee666eee9090fbc6da287

Git commit 6c49a8f7e508ad51a913f6205b9359dec8132296 by Simon Ser on 27/05/2022 at 20:41..
cursor: drop xcursor_images_set_name

We don't ever need to set the name multiple times for a single
struct xcursor_images, so we can just set the field directly. Also
replace the hand-rolled logic with strdup.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6c49a8f7e508ad51a913f6205b9359dec8132296

Git commit f33356742e7f89962db6d7f58c3c3c6f9667cd15 by Simon Ser on 27/05/2022 at 20:41..
cursor: remove unnecessary ifs in xcursor_load_theme

load_all_cursors_from_dir and xcursor_theme_inherits already have
the NULL checks we want.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f33356742e7f89962db6d7f58c3c3c6f9667cd15

Git commit 7a399383fc6b4586368c1083062bd28e9e30d5fb by Simon Ser on 27/05/2022 at 20:41..
cursor: simplify xcursor_library_path

- Use early returns
- De-duplicate XDG_DATA_HOME code-paths
- Don't crash on allocation failure
- Use size_t when appropriate
- Fix indentation

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7a399383fc6b4586368c1083062bd28e9e30d5fb

Git commit 1cb728246ba04fd7f8c0557d74fa5ea18d1f07c6 by Simon Ser on 27/05/2022 at 20:41..
cursor: fix indentation of xcursor_load_theme declaration

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1cb728246ba04fd7f8c0557d74fa5ea18d1f07c6

Git commit ccca002691a94cb6f25c092a33a5d5112e2d627a by Simon Ser on 27/05/2022 at 20:41..
cursor: drop unused XCursor comment declarations

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ccca002691a94cb6f25c092a33a5d5112e2d627a

Git commit dfe820efcea45d46dc436e8fa64def9c69efbdfa by Simon Ser on 27/05/2022 at 20:41..
cursor: drop xcursor_add_path_elt

Just use snprintf instead. It doesn't really matter if we have
some duplicate slashes in filenames.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dfe820efcea45d46dc436e8fa64def9c69efbdfa

Git commit 355c8e885c559354590c1a94a9aadf7030642151 by Simon Ser on 27/05/2022 at 20:41..
cursor: move xcursor_theme_inherits declarations at the top

Per code style, declarations need to be at the start of the block.

And make l const while at it.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/355c8e885c559354590c1a94a9aadf7030642151

Git commit 0297c2c47ad7321444add0be6cb8bf68cf270aac by Simon Ser on 04/06/2022 at 20:58..
cursor/os-compatibility: remove strcpy/strcat usage

These functions don't perform bounds checking, so they are easy to
misuse and complicate audits.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0297c2c47ad7321444add0be6cb8bf68cf270aac

Git commit f710d01663bc054825b0ed84be20ab5fc201362e by Simon Ser on 04/06/2022 at 20:58..
cursor/os-compatibility: fix trailing space

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f710d01663bc054825b0ed84be20ab5fc201362e

Git commit 9434e8d69f76d7859ed7b18edc5a62450ad8d040 by Simon Ser (on behalf of Antonin Décimo) on 09/06/2022 at 18:34..
Check that XDG base directories paths are absolute

The [spec][1] reads:

> All paths set in these environment variables must be absolute. If an
> implementation encounters a relative path in any of these variables it should
> consider the path invalid and ignore it.

and

> If $XDG_DATA_HOME is either not set or empty, a default equal to
> $HOME/.local/share should be used.

Testing that the path is absolute also entails that is is non-empty.

[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

Signed-off-by: Antonin Décimo <antonin.decimo at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9434e8d69f76d7859ed7b18edc5a62450ad8d040

Git commit a8246a9f0f60d83755be14e7fec2b0683a09f647 by Simon Ser (on behalf of Alexandros Frantzis) on 09/06/2022 at 18:38..
client: Document best practices for event queue changes

Document the proper way to deal with event queue changes, in order to
guarantee proper handing of all events which were queued before the
queue change takes effect, especially in multi-threaded setups.

Make a special note about queue changes of newly created proxies,
which require the use of a proxy wrapper for thread safety.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
Suggested-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a8246a9f0f60d83755be14e7fec2b0683a09f647

Git commit 444d0ff3381a8b2f89a9e84a6ca9b8622fe97170 by Simon Ser (on behalf of Alexandros Frantzis) on 09/06/2022 at 18:38..
client: Lock display when setting a proxy event queue

Assignments to a wl_proxy's queue member are currently not synchronized
with potential reads of that member during event reading/queuing.
Assuming atomic pointer value reads and writes (which is a reasonable
assumption), and using the documented best practices to handle event
queue changes, a queue change should still be safe to perform.

That being said, such implicitly atomic accesses are difficult to assess
for correctness, especially since they do not introduce memory barriers.

To make the code more obviously correct, and handle any potential races
we are not currently aware of, this commit updates wl_proxy_set_queue()
to set the proxy's event queue under the display lock (all other
proxy queue accesses are already done under the display lock).

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
Suggested-by: Pekka Paalanen <pekka.paalanen at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/444d0ff3381a8b2f89a9e84a6ca9b8622fe97170

Git commit 07c8f4157694b4eb89ce220bcd1456320815c118 by Simon Ser on 09/06/2022 at 18:52..
build: bump to version 1.20.92 for the beta release

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/07c8f4157694b4eb89ce220bcd1456320815c118

Git commit dd00220b1ef6a4c823632a02b535b40602bfb8d4 by Simon Ser (on behalf of Olivier Fourdan) on 09/06/2022 at 19:18..
cursor/os-compatibility: handle EINTR gracefully

If os_resize_anonymous_file() called from os_create_anonymous_file()
fails with EINTR (Interrupted system call), then the buffer allocation
fails.

To avoid that, retry posix_fallocate() on EINTR.

However, in the presence of an alarm, the interrupt may trigger
repeatedly and prevent a large posix_fallocate() to ever complete
successfully, so we need to first block SIGALRM to prevent this.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dd00220b1ef6a4c823632a02b535b40602bfb8d4

Git commit 1b00df864c6816905628a8eae49c24d2aed287af by Simon Ser on 15/06/2022 at 07:53..
server: check visibility before sending global/global_remove

See the previous discussion at [1]: libwayland incorrectly skips
the visibility checks when sending global/global_remove events.
The check is only performed when a client performs a
wl_display.get_registry request.

[1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/148

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1b00df864c6816905628a8eae49c24d2aed287af

Git commit 2fb4cdebbedb2c0468ce331cadafd0dfc83fb08f by Simon Ser on 15/06/2022 at 07:53..
tests: add a test for dynamic filtered globals

Ensure dynamically created and destroyed globals which are filtered
don't trigger any global/global_remove event.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2fb4cdebbedb2c0468ce331cadafd0dfc83fb08f

Git commit 7eb00b070d8a7ec98f58980862b63a0063c66d6b by Simon Ser on 15/06/2022 at 07:57..
server: add PID race condition disclaimer to wl_client_get_credentials

PIDs are re-used and cannot be used to reliably check the identity of
a Wayland client.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7eb00b070d8a7ec98f58980862b63a0063c66d6b

Git commit 41b10c74589c5350931a688b0e828c85652dae45 by Simon Ser on 15/06/2022 at 08:37..
server: warn about global filtering consistency

The filtering needs to be static given a client and a global,
otherwise libwayland will misbehave.

Signed-off-by: Simon Ser <contact at emersion.fr>
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/241#note_1421888
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/41b10c74589c5350931a688b0e828c85652dae45

Git commit f683c8f84352cd03079eefb20f84e0a7d6ff2d2a by Héctor Orón Martínez on 21/06/2022 at 22:15..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f683c8f84352cd03079eefb20f84e0a7d6ff2d2a

Git commit ac8962a868d3bbaea66d56988d4e5819b2de8d8f by Héctor Orón Martínez on 21/06/2022 at 22:16..
Prepare Debian 1.20.92-1 release

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ac8962a868d3bbaea66d56988d4e5819b2de8d8f

Git commit 0b006d1baf4ec645185bf95036911306059dede7 by Héctor Orón Martínez on 21/06/2022 at 22:20..
debian/libwayland-server0.symbols: refresh

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0b006d1baf4ec645185bf95036911306059dede7

Git commit 6ac1073f8af2b64ed9f67fc49ae5e0c5664eb7f1 by Héctor Orón Martínez on 21/06/2022 at 22:38..
Release Debian version 1.20.92-1 to experimental

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6ac1073f8af2b64ed9f67fc49ae5e0c5664eb7f1

Git commit 8e322a5a99db1cefb7494f082a5525d2cba64174 by Simon Ser on 23/06/2022 at 19:59..
build: bump to version 1.20.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8e322a5a99db1cefb7494f082a5525d2cba64174

Git commit c7fc1e79ca50402acdd8627dcdf7dd0286924d99 by Simon Ser on 28/06/2022 at 09:59..
util: set errno when hitting WL_MAP_MAX_OBJECTS

Callers may check errno when wl_map_insert_* functions return an
error (since [1]). Make sure it's always set to a meaningful value
when returning an error, otherwise callers might end up checking an
errno coming from a completely different function.

[1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/205

Signed-off-by: Simon Ser <contact at emersion.fr>
Fixes: b19488c7154b ("util: Limit size of wl_map")
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c7fc1e79ca50402acdd8627dcdf7dd0286924d99

Git commit 68842b34039eb8efb6b7677cba5a0ddfceac34e0 by Simon Ser (on behalf of Peter Hutterer) on 30/06/2022 at 09:12..
protocol: minor clarification for axis_discrete events

Explicitly spell out that multiple axis_discrete events *for the same axis*
within the same wl_pointer.frame are not permitted.

References: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/911#note_1438099

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68842b34039eb8efb6b7677cba5a0ddfceac34e0

Git commit 8135e856ebd79872f886466e9cee39affb7d9ee8 by Simon Ser on 30/06/2022 at 21:59..
build: bump to version 1.21.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8135e856ebd79872f886466e9cee39affb7d9ee8

Git commit 4f6c6e7c0f27008b6c4e1f4da5c61b80af2f407b by Simon Ser on 30/06/2022 at 22:11..
build: re-open main branch for regular development
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4f6c6e7c0f27008b6c4e1f4da5c61b80af2f407b

Git commit b24eac0f457d45c38f8ca9854b64892b33f64a38 by Héctor Orón Martínez on 08/07/2022 at 16:24..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b24eac0f457d45c38f8ca9854b64892b33f64a38

Git commit 47b2d532db4a3b1462cc5869b2259d21c95b89aa by Héctor Orón Martínez on 08/07/2022 at 16:26..
Release Debian version 1.21.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/47b2d532db4a3b1462cc5869b2259d21c95b89aa

Git commit 7cdc20cee6cb967c1975896cb60bcc9d1221819a by Simon Ser on 14/07/2022 at 08:04..
Add release.sh

Replace xorg-util-modular's release script with our own, tailored
for Wayland only. Does the same thing but in 71 lines of code
instead of 1k. Creates a GitLab release via glab instead of trying
to upload to a web server via ssh.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7cdc20cee6cb967c1975896cb60bcc9d1221819a

Git commit 13b05c9ed1570765923a28b277ca385001c2b5c6 by Ian Douglas Scott on 14/07/2022 at 15:10..
Do not allow nullable arrays, which were not correctly implemented

Nullable arrays, which are not used anywhere, were marshalled the same
way as an empty non-null array. The demarshalling logic did not
recognize anything as a null array. Given this, it seems better to just
explicitly not support it.

Fixes https://gitlab.freedesktop.org/wayland/wayland/-/issues/306.

Signed-off-by: Ian Douglas Scott <idscott at system76.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/13b05c9ed1570765923a28b277ca385001c2b5c6

Git commit 971f8e4ace3d4080340f43574043c31f46db312f by Ian Douglas Scott on 14/07/2022 at 15:38..
Do not allow nullable `new_id`

The usefulness of this is limited, and `libwayland-client` doesn't
provide a way to pass a null `new_id` since the id is generated by the
library and given to the caller as the return value.

Signed-off-by: Ian Douglas Scott <idscott at system76.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/971f8e4ace3d4080340f43574043c31f46db312f

Git commit 60827b862e4f0ef2b5117df30494a7f5918dd8b1 by Ian Douglas Scott on 14/07/2022 at 15:38..
Document which type are nullable, and wire format for null value

Signed-off-by: Ian Douglas Scott <idscott at system76.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/60827b862e4f0ef2b5117df30494a7f5918dd8b1

Git commit 73468bab7d12fd4d7b62d3b50a56e77acd977607 by Carlos Garnacho on 04/08/2022 at 23:26..
server: Extend display name string size

Typically this is a number between 0 and 32. Just that the compiler doesn't
know that well. Make the string buffer a bit larger, so that it fits the
longer integers. Fixes build warnings like:

../subprojects/wayland/src/wayland-server.c: In function ‘wl_display_add_socket_auto’:
../subprojects/wayland/src/wayland-server.c:1649:70: error: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 8 [-Werror=format-truncation=]
 1649 |                 snprintf(display_name, sizeof display_name, "wayland-%d", displayno);
      |                                                                      ^~
../subprojects/wayland/src/wayland-server.c:1649:61: note: directive argument in the range [-2147483647, 32]
 1649 |                 snprintf(display_name, sizeof display_name, "wayland-%d", displayno);
      |                                                             ^~~~~~~~~~~~
../subprojects/wayland/src/wayland-server.c:1649:17: note: ‘snprintf’ output between 10 and 20 bytes into a destination of size 16
 1649 |                 snprintf(display_name, sizeof display_name, "wayland-%d", displayno);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Seen in GTK CI.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/73468bab7d12fd4d7b62d3b50a56e77acd977607

Git commit 68fef9922edd9add56d97c5bb4d64b6a3179764b by Olivier Fourdan on 06/09/2022 at 13:15..
build: Make release.sh generic

The "release.sh" script is a convenient and documented way to release
Wayland packages.

Unfortunately, the actual package name is hardcoded, meaning that to
reuse that script in other Wayland projects, one needs to duplicate the
script and amend it.

Use meson to determine the actual project name, so that the same script
can be invoked from any relevant Wayland project.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68fef9922edd9add56d97c5bb4d64b6a3179764b

Git commit 1db6153cc2040849ac4bf38c4660905441e56c01 by Simon Ser on 13/09/2022 at 18:01..
util: name function typedef arguments

Doxygen doesn't support documenting unnamed function arguments.

Fixes the following warnings:

    src/wayland-util.h:697: warning: argument 'const' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'void' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'void' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'uint32_t' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'const' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'struct' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'wl_message' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'union' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'wl_argument' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:725: warning: argument 'const' of command @param is not found in the argument list of wl_log_func_t(const char *, va_list)
    src/wayland-util.h:725: warning: argument 'char' of command @param is not found in the argument list of wl_log_func_t(const char *, va_list)
    src/wayland-util.h:725: warning: argument 'va_list' of command @param is not found in the argument list of wl_log_func_t(const char *, va_list)
    src/wayland-util.h:697: warning: argument 'const' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'void' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'void' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'uint32_t' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'const' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'struct' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'wl_message' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'union' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:697: warning: argument 'wl_argument' of command @param is not found in the argument list of wl_dispatcher_func_t(const void *, void *, uint32_t, const struct wl_message *, union wl_argument *)
    src/wayland-util.h:725: warning: argument 'const' of command @param is not found in the argument list of wl_log_func_t(const char *, va_list)
    src/wayland-util.h:725: warning: argument 'char' of command @param is not found in the argument list of wl_log_func_t(const char *, va_list)
    src/wayland-util.h:725: warning: argument 'va_list' of command @param is not found in the argument list of wl_log_func_t(const char *, va_list)

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1db6153cc2040849ac4bf38c4660905441e56c01

Git commit 7d78ea5628d5da8f05bb279a06f8169151da4f9b by Simon Ser on 13/09/2022 at 18:01..
server: don't document void return values

Fixes the following warnings:

    src/wayland-server.c:1152: warning: documented empty return type of wl_display::wl_display_destroy
    src/wayland-server.c:1193: warning: documented empty return type of wl_display::wl_display_set_global_filter

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7d78ea5628d5da8f05bb279a06f8169151da4f9b

Git commit 2d5acfa5c3f4a184072171b0ed9673abd55a9496 by Simon Ser on 13/09/2022 at 18:01..
cursor: make param names match with documentation

There was a mismatch here.

Use a good-looking function param name because that's what will
show up in docs. Use an abbreviation inside the function.

Fixes the following warnings:

    cursor/wayland-cursor.c:504: warning: argument 'cursor' of command @param is not found in the argument list of wl_cursor_frame(struct wl_cursor *_cursor, uint32_t time)
    cursor/wayland-cursor.c:504: warning: The following parameter of wl_cursor_frame(struct wl_cursor *_cursor, uint32_t time) is not documented:
      parameter '_cursor'
    cursor/wayland-cursor.c:452: warning: argument 'cursor' of command @param is not found in the argument list of wl_cursor_frame_and_duration(struct wl_cursor *_cursor, uint32_t time, uint32_t *duration)
    cursor/wayland-cursor.c:452: warning: The following parameter of wl_cursor_frame_and_duration(struct wl_cursor *_cursor, uint32_t time, uint32_t *duration) is not documented:
      parameter '_cursor'
    cursor/wayland-cursor.c:147: warning: argument 'image' of command @param is not found in the argument list of wl_cursor_image_get_buffer(struct wl_cursor_image *_img)
    cursor/wayland-cursor.c:147: warning: The following parameter of wl_cursor_image_get_buffer(struct wl_cursor_image *_img) is not documented:
      parameter '_img'
    cursor/wayland-cursor.c:504: warning: argument 'cursor' of command @param is not found in the argument list of wl_cursor_frame(struct wl_cursor *_cursor, uint32_t time)
    cursor/wayland-cursor.c:504: warning: The following parameter of wl_cursor_frame(struct wl_cursor *_cursor, uint32_t time) is not documented:
      parameter '_cursor'
    cursor/wayland-cursor.c:452: warning: argument 'cursor' of command @param is not found in the argument list of wl_cursor_frame_and_duration(struct wl_cursor *_cursor, uint32_t time, uint32_t *duration)
    cursor/wayland-cursor.c:452: warning: The following parameter of wl_cursor_frame_and_duration(struct wl_cursor *_cursor, uint32_t time, uint32_t *duration) is not documented:
      parameter '_cursor'
    cursor/wayland-cursor.c:147: warning: argument 'image' of command @param is not found in the argument list of wl_cursor_image_get_buffer(struct wl_cursor_image *_img)
    cursor/wayland-cursor.c:147: warning: The following parameter of wl_cursor_image_get_buffer(struct wl_cursor_image *_img) is not documented:
      parameter '_img'

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2d5acfa5c3f4a184072171b0ed9673abd55a9496

Git commit e1053607830719c28fe8c189d9e5bd3a799aaa0b by Simon Ser on 13/09/2022 at 18:46..
ci: set ASAN_OPTIONS=detect_odr_violation=0

Signed-off-by: Simon Ser <contact at emersion.fr>
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/154
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e1053607830719c28fe8c189d9e5bd3a799aaa0b

Git commit 985ab55d59db45ea62795c76dff5949343e86b2f by Simon Ser on 13/09/2022 at 18:46..
ci: upgrade images

Upgrade Debian to bullseye and FreeBSD to 13.1. FreeBSD 13.0 is
not supported anymore, and this ensures we still build on fresh
images.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/985ab55d59db45ea62795c76dff5949343e86b2f

Git commit c2c6ef9cbe7177ccbfd06d5da3a97da27d0b4368 by Simon Ser on 21/09/2022 at 10:17..
protocol: mention protocol error name in wl_subcompositor.get_subsurface

Let's be explicit here.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c2c6ef9cbe7177ccbfd06d5da3a97da27d0b4368

Git commit b9632822b73b982669a2a59e02b2a98c2f7b47dd by Simon Ser on 21/09/2022 at 10:17..
protocol: add wl_compositor.error.bad_parent

This forbids loops in sub-surface trees.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b9632822b73b982669a2a59e02b2a98c2f7b47dd

Git commit cee0e623415f6c4bf50b90ee728ebca2e5328a19 by Héctor Orón Martínez on 14/10/2022 at 17:20..
debian/watch: update to new upstream release site

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cee0e623415f6c4bf50b90ee728ebca2e5328a19

Git commit e886b456aba8b502e599b555b27b09e889bc3eb5 by Daniel Stone on 20/10/2022 at 11:26..
tests: Use bool for client test

A 0/1-only int is a bool.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e886b456aba8b502e599b555b27b09e889bc3eb5

Git commit 51d788de5b5b3443fa1ca71115d16a53281c5ed9 by Daniel Stone on 20/10/2022 at 11:26..
wayland-server: Add wl_client_add_destroy_late_listener

A late-destroy listener for a client is called after all the client's
resources have been destroyed and the destroy callbacks emitted. This
lives in parallel to the existing client destroy listener, called
immediately before the client's objects get destroyed.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Fixes: wayland/wayland#207
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/51d788de5b5b3443fa1ca71115d16a53281c5ed9

Git commit 86d73b2da221bc9ca059195af4c97297fd5221c6 by Daniel Stone on 20/10/2022 at 11:26..
tests: Ensure resource vs. client destroy handler order

Make sure that the client destroy handler runs strictly before the
resource destroy handler, which runs strictly before the client
late-destroy handler.

Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/86d73b2da221bc9ca059195af4c97297fd5221c6

Git commit 68dfa1183f937a9a34d0a8582e4ffe5eace4a32d by Simon Ser (on behalf of Kirill Primak) on 29/11/2022 at 13:46..
protocol: remove wl_subsurface lifetime contradiction

This statement assumes that a wl_surface can be destroyed before the
corresponding wl_subsurface, which is not true, as wl_surface
description explicitly states that the role object must be destroyed
before the wl_surface itself.

Signed-off-by: Kirill Primak <vyivel at eclair.cafe>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/68dfa1183f937a9a34d0a8582e4ffe5eace4a32d

Git commit 0dc23e380a59fcf8a670273dc65816c2cc6de472 by Simon Ser (on behalf of Kirill Primak) on 29/11/2022 at 13:46..
protocol: add defunct_role_object error

This commit adds wl_surface.defunct_role_object error, which has
semantics similar to xdg_wm_base.defunct_surfaces error, and is sent
when a client destroys a surface while the corresponding role object
still exists.

Signed-off-by: Kirill Primak <vyivel at eclair.cafe>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0dc23e380a59fcf8a670273dc65816c2cc6de472

Git commit 7f1c51a55613350488fa88f283462fca18f533a1 by Simon Ser on 07/12/2022 at 09:04..
protocol: add note about wl_buffer/wl_callback version

This is an exception which can be confusing. Add an explicit note
about it in the protocol text.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7f1c51a55613350488fa88f283462fca18f533a1

Git commit 41aed7a38a928863d5759ac2a93251d35aa1f657 by Simon Ser (on behalf of Fergus Dall) on 03/01/2023 at 11:05..
scanner: Fix undefined behavior around qsort

According to clang, qsort cannot be passed a null pointer, even if the size is
specified to be zero. The scanner can hit this while trying to sort forward
declarations if it happens to be building a protocol file that doesn't require
any, either in the header or the source.

Signed-off-by: Fergus Dall <sidereal at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/41aed7a38a928863d5759ac2a93251d35aa1f657

Git commit b27961e48d83203e699905b339d2f290c8379cc2 by Simon Ser (on behalf of Marius Vlad) on 16/01/2023 at 10:03..
release.sh: Don't push *all* tags

Rather than trying to push all possible tags just push the one
created for that release.

Signed-off-by: Marius Vlad <marius.vlad at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b27961e48d83203e699905b339d2f290c8379cc2

Git commit 9700155edaae37bf91b55b58c1c2adf2ed142282 by Simon Ser (on behalf of Mikhail Gusarov) on 16/01/2023 at 10:09..
protocol: wl_subsurface::destroy does not remove the role

Role assigned to wl_surface cannot be removed.
Delete contradicting text from wl_subsurface::destroy documentation.

Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9700155edaae37bf91b55b58c1c2adf2ed142282

Git commit be31c5a8c852a57007f9a4115bd3e082c089acf1 by Simon Ser on 25/01/2023 at 10:12..
server: fail on global name overflow

display->id is initialized to 1, making 0 a convenient value to
indicate an invalid global name. Make sure to not return a zero
global name on overflow. Moreover, if we wrap around, we might
cycle back to a global name which is already in-use.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/be31c5a8c852a57007f9a4115bd3e082c089acf1

Git commit 83e9c9e117acdf104a9d33838d99a4025a647dfe by Simon Ser on 25/01/2023 at 10:14..
server: rename wl_display.id to next_global_name

This is much more descriptive. This value is a counter incremented
each time a new global is created.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/83e9c9e117acdf104a9d33838d99a4025a647dfe

Git commit 9afab91d212164b56c7eefd234c798fc59ae3fd8 by Simon Ser on 07/02/2023 at 13:33..
protocol: add wl_surface.preferred_buffer_scale

Right now, clients need to bind to wl_output globals, listen to wl_output.scale,
listen to wl_surface.enter/leave, pick the highest scale factor.

This is an issue because it breaks Wayland's "policy, not mechanism" motto.
Clients take the decision of which scale to use depending on the outputs they're
on, compositors have no say in this (apart from faking output events, which
isn't great).

This commit introduces a new wl_surface.preferred_buffer_scale event to allow
compositors to directly indicate the preferred scale factor for each surface.

This unlocks features which require dynamically changing the scale such as:

- Accessibility features such as screen magnifier
- In a VR environment, render surfaces close to the eye at a higher scale
- HiDPI screenshots on LoDPI screens

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/271
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9afab91d212164b56c7eefd234c798fc59ae3fd8

Git commit d443241635cf86e4fdb91a781ec702bc8828d703 by Simon Ser on 07/02/2023 at 13:33..
protocol: add wl_surface.preferred_buffer_transform

Same as the new wl_surface.preferred_buffer_scale event but for
transform.

No version bump needed since the previous commit did that.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d443241635cf86e4fdb91a781ec702bc8828d703

Git commit d16d39f74a98eb727319c6c026ba4b82054e6269 by Simon Ser (on behalf of Andri Yngvason) on 11/02/2023 at 12:19..
wayland-server: Add method to get global name

This is useful for protocol designs where globals need to be referenced
in some manner.

Signed-off-by: Andri Yngvason <andri at yngvason.is>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d16d39f74a98eb727319c6c026ba4b82054e6269

Git commit 8ffd7db24f9054a5fdc6d0a25e50d0e4eee95fbb by Simon Ser on 13/02/2023 at 18:54..
readme: drop paragraph about Weston

There are many Wayland compositors nowadays.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8ffd7db24f9054a5fdc6d0a25e50d0e4eee95fbb

Git commit 20498d9ea18926fe30ce439f92d7440c3079bfa9 by Simon Ser on 13/02/2023 at 18:55..
readme: reword website description

The website is most useful for docs. Build instructions have been
mostly dropped from it: they're better described in downstream
projects' READMEs.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/20498d9ea18926fe30ce439f92d7440c3079bfa9

Git commit a782152de0f032050e842cce263a8777bd2c9ca3 by Simon Ser on 13/02/2023 at 18:57..
readme: convert to Markdown

Gives us nice links and code blocks.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a782152de0f032050e842cce263a8777bd2c9ca3

Git commit 1ef773be76ec0f45312622da7720ae6917bdf789 by Simon Ser (on behalf of Peter Hutterer) on 21/02/2023 at 15:32..
protocol: add wl_pointer's axis relative physical direction

This event adds the physical direction of the axis motion, relative to the
axis event we get. Right now, when natural scrolling is enabled things like
virtual volume sliders move the wrong way round.

By adding the axis motion direction, we can have toolkits swap the scroll
direction for applicable widgets, getting the right behavior on all widgets.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1ef773be76ec0f45312622da7720ae6917bdf789

Git commit 2aec8f59e9c02925205ec3b2a2d420b63287c7f5 by Simon Ser (on behalf of Sebastian Wick) on 27/02/2023 at 20:39..
protocol: do not change pending x and y when attaching a buffer

Attaching a buffer with interface version 5 requires clients to pass
zero to x and y but it still affects the pending surface state.
Attaching a buffer after a request to offset therefore sets the pending
x and y to zero. The intent of version 5 was to allow exactly this
sequence of requests to work so let's just make sure the protocol
actually spells it out.

Signed-off-by: Sebastian Wick <sebastian.wick at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2aec8f59e9c02925205ec3b2a2d420b63287c7f5

Git commit 3815803633a6d3bbde7e0cb9118b834e805cb409 by Simon Ser (on behalf of Vlad Zahorodnii) on 27/02/2023 at 20:43..
protocol: reorder wl_data_offer.source_actions and wl_data_device.enter

Most compositors send the wl_data_offer.source_actions event before the
wl_data_device.enter event, i.e. after creation of the data offer. This
contradicts to the wayland spec.

On the other hand, it's reasonable to send all the information useful to
the client before the enter event, rather than send mime types before the
enter event and source actions (that don't depend on drop target) after
the enter event.

On the client side, toolkits such as Qt and GTK already expect to see the
source actions before receiving the enter event.

Given all of that, this change adjusts the spec to match the behavior
observed in the compositors in the wild.

Signed-off-by: Vlad Zahorodnii <vlad.zahorodnii at kde.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3815803633a6d3bbde7e0cb9118b834e805cb409

Git commit 6cdeae1becef114c064b7021c5dd59d36630975c by Simon Ser (on behalf of Mikhail Gusarov) on 27/02/2023 at 20:51..
protocol: Clarify meaning of input region for cursors, DnD icons

Input region is ignored for cursors, DnD icons. Current wording
implies that this state is temporary, but surfaces never lose the
role once assigned, so reword to make it clearer.

Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6cdeae1becef114c064b7021c5dd59d36630975c

Git commit ab526f8d7c80433effd01c1994d50c618c0b7207 by Simon Ser on 27/02/2023 at 21:00..
shm: fix segfault when accessing destroyed pool resource

With wl_shm_buffer_ref_pool(), it's possible for a wl_shm_pool
to outlive its wl_resource. We need to be careful not to access
wl_shm_pool.resource if it's been destroyed.

Reset resource to NULL in the resource destroy handler, and add
NULL checks.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ab526f8d7c80433effd01c1994d50c618c0b7207

Git commit 674145dc3f621e5a3673714c7527d0e1c5336ab1 by Simon Ser (on behalf of Alexandros Frantzis) on 28/02/2023 at 11:22..
client: Track the proxies attached to a queue

Maintain a list of all wl_proxy objects that are attached to a
wl_event_queue. We will use this information in upcoming commits to warn
about improper object destruction order that can lead to memory errors.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/674145dc3f621e5a3673714c7527d0e1c5336ab1

Git commit d4d322885349c73f8753cca0c6d7754d2b0b411e by Simon Ser (on behalf of Alexandros Frantzis) on 28/02/2023 at 11:22..
tests: Capture the test client log

Capture the test client log to a temporary fd, so that is accessible by both
the test server process and the test client process.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d4d322885349c73f8753cca0c6d7754d2b0b411e

Git commit 0ba650202e742b23150054cf0740168cd529b010 by Simon Ser (on behalf of Alexandros Frantzis) on 28/02/2023 at 11:22..
client: Warn when a queue is destroyed with attached proxies

Log a warning if the queue is destroyed while proxies are still
attached, to help developers debug and fix potential memory errors.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0ba650202e742b23150054cf0740168cd529b010

Git commit e09010f470b28353e29a673ad76e813a92e61a1f by Simon Ser (on behalf of Alexandros Frantzis) on 28/02/2023 at 11:22..
tests: Support tests that check for client failure

Add the display_destroy_expect_signal() function to check that test
clients exit due to a particular signal. This is useful for checking
that clients fail in an expected way.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e09010f470b28353e29a673ad76e813a92e61a1f

Git commit d72f9007c36f2f8ad2dc26178545e8a7f5b993a0 by Simon Ser (on behalf of Alexandros Frantzis) on 28/02/2023 at 11:22..
client: Abort when trying to add an event to a destroyed queue

Detect when we are trying to add an event to a destroyed queue,
and abort instead of causing a use-after-free memory error.

This situation can occur when an wl_event_queue is destroyed before
its attached wl_proxy objects.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d72f9007c36f2f8ad2dc26178545e8a7f5b993a0

Git commit 344d31f871e7ff85137e1e80062367dc3ad7418e by Simon Ser on 28/02/2023 at 16:15..
build: bump version to 1.21.91 for the alpha release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/344d31f871e7ff85137e1e80062367dc3ad7418e

Git commit b01a85dfd5e8cda7170b7ba6fe66fc3800f93990 by Alexandros Frantzis on 01/03/2023 at 13:50..
client: Do not warn about attached proxies on default queue destruction.

If the default queue is being destroyed, the client is disconnecting
from the wl_display, so there is no possibility of subsequent events
being queued to the destroyed default queue, which is what this warning
is about.

Note that interacting with (e.g., destroying) a wl_proxy after its
wl_display is destroyed is a certain memory error, and this warning will
indirectly warn about this issue. However, this memory error should be
detected and warned about through a more deliberate mechanism.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b01a85dfd5e8cda7170b7ba6fe66fc3800f93990

Git commit 3956948fac5c0bf29ee13fd1c299a47a16c05a6d by Simon Ser on 07/03/2023 at 13:22..
client: fix wl_display_disconnect() documentation

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/361
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3956948fac5c0bf29ee13fd1c299a47a16c05a6d

Git commit 002e1f1d3a2ad65b3f5417c80fd490b966a7eee3 by Simon Ser on 16/03/2023 at 00:08..
build: bump version to 1.21.92 for the beta release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/002e1f1d3a2ad65b3f5417c80fd490b966a7eee3

Git commit eb19f99a5b237806dc4703645e1fec32f4f94e8c by Faith Ekstrand on 25/03/2023 at 16:17..
Add a .mailmap file

This will let command-line Git tools re-map my name and e-mail address properly.
I'm using my personal e-mail address and not my Collabora address because I'm
not actively contributing to Wayland anymore and this is mostly for letting
people find me should they dig me up in the project history.

Signed-off-by: Faith Ekstrand <faith at gfxstrand.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/eb19f99a5b237806dc4703645e1fec32f4f94e8c

Git commit cd036bb7b88907ccc926aeff5cdfc915963bdb9a by Simon Ser on 28/03/2023 at 18:03..
build: bump to version 1.21.93 for the RC1 release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cd036bb7b88907ccc926aeff5cdfc915963bdb9a

Git commit b2649cb3ee6bd70828a17e50beb16591e6066288 by Simon Ser on 04/04/2023 at 07:58..
build: bump to version 1.22.0 for the official release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b2649cb3ee6bd70828a17e50beb16591e6066288

Git commit cdd890a6f8701d44641b215549a856e524229373 by Simon Ser on 04/04/2023 at 11:38..
build: re-open main branch for regular development
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/cdd890a6f8701d44641b215549a856e524229373

Git commit 307b23626d9fccc4ab9f72b23940f26c54505b0e by Simon Ser on 04/04/2023 at 11:39..
protocol: disallow re-using wl_data_source

As pointed out in [1], re-using a wl_data_source for multiple start_drag or
set_selection requests has bad consequences, because this object has events
that allo tracking the state of a selection/drag-and-drop operation. Tracking
two operations at the same time isn't possible with this interface.

[1]: https://lists.freedesktop.org/archives/wayland-devel/2019-January/039936.html

Signed-off-by: Simon Ser <contact at emersion.fr>
Signed-off-by: Daniel Stone <daniels at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/307b23626d9fccc4ab9f72b23940f26c54505b0e

Git commit 1e259a255a07cd16b31fc99e6bba3e9368fae6d9 by Simon Ser (on behalf of Xaver Hugl) on 12/04/2023 at 13:37..
protocol: improve wl_keyboard focus documentation

The compositor must not send any key events while a surface is not focused,
but in order to allow for common actions like ctrl+scroll for zooming to work
with unfocused surfaces it may do so with modifiers.

Signed-off-by: Xaver Hugl <xaver.hugl at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1e259a255a07cd16b31fc99e6bba3e9368fae6d9

Git commit 3bac2e5fb8ee6b02ad09e8e556edd270d7f4de9c by Daniel Stone (on behalf of Joshua Ashton) on 02/05/2023 at 11:36..
event-loop: Handle EINTR and EAGAIN in wl_event_loop_dispatch

This fixes an issue where it was not possible to start Gamescope under GDB on some setups.
https://github.com/ValveSoftware/gamescope/issues/743

Any signals would cause epoll_wait to return -1 and set errno to EINTR.

This also handles the EAGAIN case like the other polling loops in libwayland.

Signed-off-by: Joshua Ashton <joshua at froggi.es>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3bac2e5fb8ee6b02ad09e8e556edd270d7f4de9c

Git commit d40052e083be1e26a4ef628b00fb5d969826164f by Simon Ser (on behalf of Manuel Stoeckl) on 03/05/2023 at 19:10..
protocol: add new shm formats

This brings the format list up to date with libdrm 2.4.115.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d40052e083be1e26a4ef628b00fb5d969826164f

Git commit b1b97e8d348ed3ac9c9c422534bd47bc8fb2d31e by Simon Ser (on behalf of Manuel Stoeckl) on 03/05/2023 at 19:15..
tests: drop misleading fixed-benchmark

Because this benchmark performed wl_fixed_to_double conversions
on a long sequence of consecutive integers, the compiler could
optimize away the addition performed in wl_fixed_to_double, merging
it with the loop iteration code. This made tests/fixed-benchmark.c
significantly underestimate the actual cost of the current
wl_fixed_to_double implementation.

Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b1b97e8d348ed3ac9c9c422534bd47bc8fb2d31e

Git commit 11b17c1286afac0e6e399986df83721a4ea9487b by Simon Ser (on behalf of Yang Wang) on 03/05/2023 at 19:21..
event-loop: optimize timer check logic

the 'has_timers' flag can be returned directly without having to track all the ready events
when a timer is found ready.

Signed-off-by: Yang Wang <KevinYang.Wang at amd.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/11b17c1286afac0e6e399986df83721a4ea9487b

Git commit 0e0ae7e290f28f4ee4ad807acb955d6b276d9e58 by Simon Ser on 09/05/2023 at 09:33..
util: simplify wl_fixed_to_double()

We can just use a simple division instead of bit operations with
magic numbers. Readability matters more than performance here.

References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/296
Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0e0ae7e290f28f4ee4ad807acb955d6b276d9e58

Git commit 8f2a33cffcdffcd1d2564c8f495053c5e1d385f7 by Simon Ser on 09/05/2023 at 09:50..
server: stop wl_display_run() on dispatch error

If wl_event_loop_dispatch() fails, we could enter an infinite loop,
repeatedly calling a failing wl_event_loop_dispatch() forever.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8f2a33cffcdffcd1d2564c8f495053c5e1d385f7

Git commit 2aec19ce41bb970f7ff982b60993e81367a6fc15 by Simon Ser on 09/05/2023 at 09:56..
build: override wayland-scanner dep

This allows a parent project to find wayland-scanner.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2aec19ce41bb970f7ff982b60993e81367a6fc15

Git commit f3026c916ef91d78040913298170d5e538dd6618 by Sebastian Wick on 09/05/2023 at 12:52..
protocol: specify the exact form of premultiplication

There are two ways to do pre-multiplication of the alpha channel into
the color channels: on optical values or on electrical values. While
pre-multiplication with optical values is arguably more correct, because
operations like blending or scaling require pre-multiplied, optical
color channels, wayland and compositors by default work with
pre-multiplied electrical values. This is most likely a convention that
Wayland took from Cairo.

This commit makes sure that the expectation of pre-multiplied electrical
values is properly documented.

Signed-off-by: Sebastian Wick <sebastian.wick at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f3026c916ef91d78040913298170d5e538dd6618

Git commit a3c499493b10a77562f782d9fbf988f1b93eba9b by Simon Ser on 23/05/2023 at 09:33..
protocol: refer to wl_surface.offset in set_cursor

The offset in wl_surface.attach has been superseded by
wl_surface.offset. Refer to the new request instead of using the
deprecated one.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a3c499493b10a77562f782d9fbf988f1b93eba9b

Git commit 56dfdb7614dd6485e228f662d7d2ae9ce8b68719 by Simon Ser on 30/05/2023 at 09:18..
server: use bool in struct fields

Use bool instead of int for boolean values, to make it more
explicit what the field contains. For instance "error" is not to
be confused with an error code.

This is all private API.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/56dfdb7614dd6485e228f662d7d2ae9ce8b68719

Git commit fd88602243b96243110cf1b5a126f38757906d1d by Marius Gripsgard on 01/06/2023 at 14:35..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fd88602243b96243110cf1b5a126f38757906d1d

Git commit b6a0f1c667e8b081eae114bee7730460834e7aec by Marius Gripsgard on 01/06/2023 at 14:38..
Merge branch 'debian-unstable' into debian-experimental
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b6a0f1c667e8b081eae114bee7730460834e7aec

Git commit 9e4fdf2994033af876e0e2fefb41c305bc284149 by Marius Gripsgard (on behalf of Guido Günther) on 01/06/2023 at 14:39..
debian/libwayland-server0.symbols: refresh
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9e4fdf2994033af876e0e2fefb41c305bc284149

Git commit 61fc6e0c47472e2818a529849f1678a1b568d7b7 by Marius Gripsgard (on behalf of Guido Günther) on 01/06/2023 at 14:40..
Document changes and release 1.22.0-0.1
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/61fc6e0c47472e2818a529849f1678a1b568d7b7

Git commit 9ab9c6fe56e92c713e0323e9482939cf1f3c7f4b by Marius Gripsgard on 01/06/2023 at 17:53..
debian/upstream: Update signing key to include key from current upstream developer
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9ab9c6fe56e92c713e0323e9482939cf1f3c7f4b

Git commit d9d14ca1ef7dd9547940e1bc9a868fc254c6cfac by Marius Gripsgard on 01/06/2023 at 17:53..
Upload to experimental (wayland-1.22.0-1)
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d9d14ca1ef7dd9547940e1bc9a868fc254c6cfac

Git commit 01625c3e683d4e9ea67aaeb14b3b92b06e4595ae by Marius Gripsgard on 01/06/2023 at 17:56..
Upload to experimental (wayland-1.22.0-1)
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/01625c3e683d4e9ea67aaeb14b3b92b06e4595ae

Git commit f181de1bcf7dc34898144498f1323c184e73f79d by Simon Ser on 20/06/2023 at 07:20..
tests: add missing proxy-test

This was probably lost during a rebase.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f181de1bcf7dc34898144498f1323c184e73f79d

Git commit 4a7348e48c05962c7ca5a92f055622263a40242c by Simon Ser on 20/06/2023 at 07:20..
egl: add missing ABI check test

We were building the executable for the test, but not declaring
the test.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4a7348e48c05962c7ca5a92f055622263a40242c

Git commit 4ec379ebcc4d33b3ffa493df12438ade2610eb5f by Simon Ser on 27/06/2023 at 11:31..
tests: manually wrap libc functions

The way we're wrapping libc functions via dlsym() is pretty fragile
and breaks on FreeBSD. The failures happen in our CI and are pretty
random, see e.g. [1].

Use a more manual way to wrap via a function pointer.

[1]: https://gitlab.freedesktop.org/wayland/wayland/-/jobs/44204010

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4ec379ebcc4d33b3ffa493df12438ade2610eb5f

Git commit 6d3334657180f3663b8d83636f4d1bc2097492d2 by Alex Yang on 27/06/2023 at 21:08..
debug: Replace "@<id>" with "#<id>" in logs

Wayland debug logs resemble email addresses. This is a problem when
anonymizing logs from users. For example:

[2512874.343] xdg_surface at 700.configure(333)

In the above log line, the substring "surface at 700.config" can be
mistaken for an email address and redacted during anonymization.

Signed-off-by: Alex Yang <aycyang at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6d3334657180f3663b8d83636f4d1bc2097492d2

Git commit e3908eb36062883cc56c3f60ebdcaa835ea4298d by Peter Hutterer on 07/07/2023 at 11:18..
Add a triage-policies file for bugbot

With a default template for the common case of "this is not a protocol bug".

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e3908eb36062883cc56c3f60ebdcaa835ea4298d

Git commit 72da004b3eed19a94265d564f1fa59276ceb4340 by Simon Ser on 19/07/2023 at 11:01..
protocol: fix whitespace

This file uses tabs instead of 8 spaces.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/72da004b3eed19a94265d564f1fa59276ceb4340

Git commit f07834bb6fa21da68d9cd3abf4cea317efd3d11e by Marius Gripsgard on 26/07/2023 at 00:43..
debian/control: Add myself as uploader
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f07834bb6fa21da68d9cd3abf4cea317efd3d11e

Git commit 693dee0f2080013f751d1f91184216fcae685ad8 by Marius Gripsgard on 26/07/2023 at 00:43..
debian/control: Bump standard-version
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/693dee0f2080013f751d1f91184216fcae685ad8

Git commit 69b5b411b4831cbc06af1e53c46741a5b66a93a3 by Marius Gripsgard on 26/07/2023 at 00:44..
Upload to unstable (wayland-1.22.0-2)
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/69b5b411b4831cbc06af1e53c46741a5b66a93a3

Git commit 7b27881cd1cbe55ec66c1455867eda9606eab8c7 by Simon Ser on 02/08/2023 at 14:47..
cursor: check return value of snprintf()

Fixes a new warning in GCC 7:

    FAILED: cursor/libwayland-cursor.so.0.22.90.p/xcursor.c.o
    cc -Icursor/libwayland-cursor.so.0.22.90.p -Icursor -I../cursor -I. -I.. -Isrc -I../src -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c99 -O3 -D_POSIX_C_SOURCE=200809L -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -fPIC '-DICONDIR="/usr/share/X11/icons"' -MD -MQ cursor/libwayland-cursor.so.0.22.90.p/xcursor.c.o -MF cursor/libwayland-cursor.so.0.22.90.p/xcursor.c.o.d -o cursor/libwayland-cursor.so.0.22.90.p/xcursor.c.o -c ../cursor/xcursor.c
    ../cursor/xcursor.c: In function 'xcursor_load_theme':
    ../cursor/xcursor.c:596:39: error: '%s' directive output between 7 and 7 bytes may cause result to exceed 'INT_MAX' [-Werror=format-truncation=]
      596 |         snprintf(full, full_size, "%s/%s/%s", dir, subdir, file);
          |                                       ^~
    ......
      764 |                 full = xcursor_build_fullname(dir, "cursors", "");
          |                                                    ~~~~~~~~~
    ../cursor/xcursor.c:596:41: error: '/' directive output between 1 and 1 bytes may cause result to exceed 'INT_MAX' [-Werror=format-truncation=]
      596 |         snprintf(full, full_size, "%s/%s/%s", dir, subdir, file);
          |                                         ^
    cc1: all warnings being treated as errors

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7b27881cd1cbe55ec66c1455867eda9606eab8c7

Git commit a81f947affe92550b7506b1403f6067b231ff542 by Simon Ser on 02/08/2023 at 14:47..
ci: upgrade ci-templates

Newer ci-templates contains bugfixes.

While at it, stop using a GitLab YAML reference, because we only
use this value in one spot.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a81f947affe92550b7506b1403f6067b231ff542

Git commit 63b0050561e9fa396a7b1b445e825b12e0083b40 by Simon Ser on 02/08/2023 at 14:47..
ci: upgrade Debian to bookworm

This is the current Debian stable release.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/63b0050561e9fa396a7b1b445e825b12e0083b40

Git commit 379a6f6759bb261d64a5f178e67f0e5f1eabad7a by Simon Ser on 02/08/2023 at 14:47..
ci: upgrade FreeBSD to 13.2

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/379a6f6759bb261d64a5f178e67f0e5f1eabad7a

Git commit edb943dc6464697ba13d7df277aef277721764b7 by David Edmundson on 07/08/2023 at 13:38..
client: Add method to get display for a given proxy

This can be useful for additional validation purposes when handling
proxies. This is similar to existing server side API
wl_global_get_display.

Signed-off-by: David Edmundson <david at davidedmundson.co.uk>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/edb943dc6464697ba13d7df277aef277721764b7

Git commit 50ea9c5b1c08bac30be365dca05716a97ea65a92 by David Benjamin on 08/11/2023 at 13:41..
connection: avoid calling memcpy on NULL, 0

Due to what is arguably a mistake in the C language specification,
passing NULL to memcpy and friends is undefined behavior (UB) even when
the count is 0. C additionally mistakenly leaves NULL + 0 and NULL -
NULL undefined. (C++ fixes this mistake.) These are very problematic
because (NULL, 0) is a natural representation of the empty slice.

Some details:
https://github.com/llvm/llvm-project/issues/49459
https://www.imperialviolet.org/2016/06/26/nonnull.html

Unfortunately, despite how clearly this is a mistake, glibc headers and
GCC now try to exploit this specification mistake and will miscompile
code, so C projects need to workaround this. In particular, UBSan from
Clang will flag this as a bug (although Clang itself has the good sense
to never lean on this bug). We've run into a few UBSan errors in
Chromium stemming from Wayland's memcpy calls. Add runtime guards as
needed to avoid these cases.

Note: Chromium's copy of wayland has
https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/188
applied. It is possible the ring_buffer_copy UB cases are only reachable
with that MR applied, I'm not sure. But it seemed simplest to just add
the fix to wayland as-is. Then when/if that MR lands, it will pick this
up.

Signed-off-by: David Benjamin <davidben at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/50ea9c5b1c08bac30be365dca05716a97ea65a92

Git commit e4eb42d073056201d4569ddff16743265f1eedf6 by Daniel Stone (on behalf of Simon Ser) on 21/11/2023 at 15:36..
protocol: refer to wl_surface.offset in wl_data_device.start_drag

Passing an offset to wl_surface.attach is not supported in the
latest version of the interface.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e4eb42d073056201d4569ddff16743265f1eedf6

Git commit 3007718b0c84407ec0561ddac734a8bcb93dd7fa by Simon Ser on 21/11/2023 at 15:44..
gitlab: make issue template the default

The issue template is hard to notice because it's not the default.
Users have to explicitly select it from the easy-to-miss dropdown
to get the warning.

Make the template the default one, so that new users are less likely
to miss it.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/3007718b0c84407ec0561ddac734a8bcb93dd7fa

Git commit 2a91f01d6c617f8f2bd1c5bf18cfa9bd21a732f6 by Simon Ser on 21/11/2023 at 15:47..
util: simplify wl_fixed_from_double()

Same as 0e0ae7e290f2 ("util: simplify wl_fixed_to_double()"), but
for the reverse function.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2a91f01d6c617f8f2bd1c5bf18cfa9bd21a732f6

Git commit 8a19dc19a1eee48cff9fea03dca4952bc2967d46 by Simon Ser (on behalf of Kirill Chibisov) on 21/11/2023 at 15:50..
protocol: clarify defaults with wl_compositor at v6

This should be sufficient for clients to not decide to fallback to
output based logic to determine scaling/transform when compositor
doesn't send any of the v6 events.

Signed-off-by: Kirill Chibisov <contact at kchibisov.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8a19dc19a1eee48cff9fea03dca4952bc2967d46

Git commit 82d8b21827c4f58013a4061fb3c813d9ae80407e by Simon Ser (on behalf of Kirill Primak) on 21/11/2023 at 15:54..
protocol: improve wl_subsurface.{set_position,place_above} description

Don't mention when the parent surface state is applied; the parent
surface isn't necessarily a sub-surface.

Signed-off-by: Kirill Primak <vyivel at eclair.cafe>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/82d8b21827c4f58013a4061fb3c813d9ae80407e

Git commit 86588fbdebe7f6ac9363d98f524e4ae14bd4b019 by Francesco Guastella on 10/12/2023 at 14:58..
build: define tests in egl/meson.build when the 'tests' option is enabled

Signed-off-by: Francesco Guastella <guastella.francesco at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/86588fbdebe7f6ac9363d98f524e4ae14bd4b019

Git commit 6626d4d98c192130681543d59ff5e0e7bac9ab4a by Simon Ser (on behalf of Julian Orth) on 27/12/2023 at 18:02..
protocol: wl_subsurface will never be focused

The spec does not describe which actions cause the compositor to assign
keyboard focus to a surface, leaving this up to the compositor.
Compositors differ in their behavior when the user clicks on a
sub-surface. Some will move the keyboard focus to the subsurface whereas
others will only ever assign the keyboard focus to toplevel surfaces.
Some applications (e.g. firefox) seem to require the second behavior.

This patch specifies that sub-surfaces never get the keyboard focus.

Signed-off-by: Julian Orth <ju.orth at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6626d4d98c192130681543d59ff5e0e7bac9ab4a

Git commit 0e139cfbc710156bc4b4b3c254c7b2ff2f10ff34 by Simon Ser on 15/01/2024 at 13:29..
build: add a gen-scanner-test target

This adds a command to re-generate the test data. This needs to be
done when either an XML source file or the scanner's output is
changed.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0e139cfbc710156bc4b4b3c254c7b2ff2f10ff34

Git commit 6daa1b8713f0fa569eb9f5c101b61c4ef1500775 by Daniel Stone (on behalf of Consolatis) on 19/01/2024 at 14:08..
cursor: add aliases for cursor name spec

The cursor name spec [1] describes how cursors should be named,
and is widely used. Add aliases so that users can pass these
names to libwayland-cursor without having to add fallbacks for
X11 cursor names.

[1]: https://www.freedesktop.org/wiki/Specifications/cursor-spec/

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6daa1b8713f0fa569eb9f5c101b61c4ef1500775

Git commit dc1da181db066415edfb73f4d9a579bc7b72b223 by Daniel Stone (on behalf of Simon Ser) on 19/01/2024 at 14:14..
protocol: document wl_surface.offset for sub-surfaces

Document that the request is ignored, since this is the behavior
of most compositors.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/dc1da181db066415edfb73f4d9a579bc7b72b223

Git commit 56b9c92b9881527d05ea9caa34c2c87e5927aa71 by Daniel Stone (on behalf of Simon Ser) on 19/01/2024 at 14:21..
util: use C23 typeof if available

Instead of using the non-standard __typeof__, prefer the standard
typeof operator introduced in C23.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/56b9c92b9881527d05ea9caa34c2c87e5927aa71

Git commit 647398ead44ed12556ac61d61e8ae6d9012a18e2 by Daniel Stone (on behalf of Simon Ser) on 19/01/2024 at 14:21..
util: use C23 deprecated attribute

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/647398ead44ed12556ac61d61e8ae6d9012a18e2

Git commit 8072ab0a505d8aeb7b34d3ecd297ca501979d905 by Daniel Stone (on behalf of Ben Widawsky) on 19/01/2024 at 14:35..
protocol: clarify scale expecations

Since the positivity of zero is debatable, and, in some cases scale was simply
underspecified, clarify the situation.

Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8072ab0a505d8aeb7b34d3ecd297ca501979d905

Git commit 9e233e31a21b0f58639c261d4dd4d72caa0bbd66 by Daniel Stone (on behalf of Simon Ser) on 19/01/2024 at 15:12..
shm: fix resource versions

This was hardcoded to 1 regardless of the version passed to the
callback or the version of the parent resource.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9e233e31a21b0f58639c261d4dd4d72caa0bbd66

Git commit f06736a8a0880ab159d946b06407268ddb41bd4d by Daniel Stone (on behalf of Simon Ser) on 19/01/2024 at 15:12..
protocol: add wl_shm.release request

Allows clients to cleanly release wl_shm objects. Useful for clients
using multiple wl_registry objects (e.g. via libraries).

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f06736a8a0880ab159d946b06407268ddb41bd4d

Git commit fd42f70bafa26fcf6f39f034b581b35838be71aa by Daniel Stone (on behalf of Simon Ser) on 19/01/2024 at 15:12..
shm: implement version 2

This version adds a release request.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fd42f70bafa26fcf6f39f034b581b35838be71aa

Git commit 8c49ee311245cbe615061e5a20a5e11648be324f by Daniel Stone (on behalf of Andreas Cord-Landwehr) on 19/01/2024 at 15:18..
Consider pkgconfig sysroot for pkgdatadir

For libs/cflags this is done automatically, but not for manually accessed
variables. This matches what wayland-protocols does.

Signed-off-by: Andreas Cord-Landwehr <cordlandwehr at kde.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8c49ee311245cbe615061e5a20a5e11648be324f

Git commit 9867bdb111f827e8e6f43e1c1111bb513811f3f1 by Daniel Stone (on behalf of John Lindgren) on 19/01/2024 at 15:25..
connection: Small simplification to wl_connection_write()

wl_connection_write() contained an exact copy of the logic in
wl_connection_queue().  Simplify things by just calling
wl_connection_queue() from wl_connection_write().

Signed-off-by: John Lindgren <john at jlindgren.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9867bdb111f827e8e6f43e1c1111bb513811f3f1

Git commit 2f17d480e848dc8cbd047fab9f322f326da54df9 by Daniel Stone (on behalf of Erik Chen) on 19/01/2024 at 15:51..
connection: Spruce up logging for client errors.

Some code paths that lead to a client error and connection termination
have no associated logging, or insufficient logging. This makes it
difficult to understand what went wrong. This commit adds or supplements
logging for all these code paths.

Signed-off-by: Erik Chen <erikchen at chromium.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2f17d480e848dc8cbd047fab9f322f326da54df9

Git commit b42218f790033c496c48c7d5ba1f8421db794d0b by Daniel Stone (on behalf of Derek Foreman) on 22/01/2024 at 12:34..
client: Allow setting names for queues

Allow setting a name for an event queue. The queue is used only for
printing additional debug information.

Debug output can now show the name of the event queue an event is
dispatched from, or the event queue of a proxy when a request is made.

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b42218f790033c496c48c7d5ba1f8421db794d0b

Git commit 88ece8a44d13eb6c00bb1c7c3c7c5a8fce2c3f4b by Daniel Stone (on behalf of Mikhail Gusarov) on 22/01/2024 at 12:37..
doc: Improve wording for packed IDs

"is incompatible with the implementation in libwayland" is a common
source of confusion as evidenced by repeated discussions in IRC
channel.

Improve the wording by making clear that
- packing IDs is a protocol requirement
- there are implementations (including libwayland) that enforce it

Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/88ece8a44d13eb6c00bb1c7c3c7c5a8fce2c3f4b

Git commit 8f499bf4045f88f3a4b4b0a445befca467bebe20 by Simon Ser (on behalf of Kirill Primak) on 27/01/2024 at 15:17..
protocol: clarify pending wl_buffer destruction

This matches the current behavior of KWin, Mutter, and Weston.

References: https://gitlab.freedesktop.org/wayland/wayland/-/issues/387
Signed-off-by: Kirill Primak <vyivel at eclair.cafe>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8f499bf4045f88f3a4b4b0a445befca467bebe20

Git commit d275bc7f84f1cffb62cfb31f55f00dc2c5968cc9 by Pekka Paalanen (on behalf of Thomas Lukaszewicz) on 07/02/2024 at 09:45..
Mitigate UAF crashes due to iteration over freed wl_resources

Currently it is possible to iterate over client-owned resources
during client destruction that have had their associated memory
released.

This can occur when client code calls wl_client_destroy(). The
following sequence illustrates how this may occur.

 1. The server initiates destruction of the connected client via
    call to wl_client_destroy().

 2. Resource destroy listeners / destructors are invoked and
    resource memory is freed one resource at a time [1].

 3. If a listener / destructor for a resource results in a call
    to wl_client_for_each_resource(), the iteration will proceed
    over resources that have been previously freed in step 2,
    resulting in UAFs / crashes.

The issue is that resources remain in the client's object map
even after they have had their memory freed, and are removed
from the map only after each individual resource has had its
memory released.

This patch corrects this by ensuring resource destruction first
invokes listeners / destructors and then removing them from the
client's object map before releasing the associated memory.

[1] https://gitlab.freedesktop.org/wayland/wayland/-/blob/main/src/wayland-server.c?ref_type=heads#L928

Signed-off-by: Thomas Lukaszewicz thomaslukaszewicz at gmail.com
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d275bc7f84f1cffb62cfb31f55f00dc2c5968cc9

Git commit 6a7284c63234c465a194b23ad28d527fa997bbcc by Simon Ser (on behalf of Kirill Primak) on 08/02/2024 at 17:18..
event-loop: use wl_priv_signal for the destroy signal

Signed-off-by: Kirill Primak <vyivel at eclair.cafe>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6a7284c63234c465a194b23ad28d527fa997bbcc

Git commit 9c4213ed3eb3942766712df936775d827b846d0b by Daniel Stone (on behalf of Sebastian Wick) on 15/02/2024 at 10:53..
server: add wl_client_get_user_data/wl_client_set_user_data

The only way to attach some data to a wl_client seems to be setting up a
destroy listener and use wl_container_of. Let's make it straight forward
to attach some data.

Having an explicit destroy callback for the user data makes managing the
user data lifetime much more convenient. All other callbacks, be they
wl_resource request listeners, destroy listeners or destructors, or
wl_client destroy listeners, can assume that the wl_client user data
still exists if it was set. Otherwise making that guarantee would be
complicated.

Co-authored-by: Pekka Paalanen <pekka.paalanen at collabora.com>
Signed-off-by: Sebastian Wick <sebastian at sebastianwick.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9c4213ed3eb3942766712df936775d827b846d0b

Git commit a74aa93394a6d572eb48b1898658dad3e0c5f720 by Simon Ser on 21/02/2024 at 09:14..
protocol: mention wl_surface events from wl_output.{scale,transform}

The wl_output events should not be used anymore for guessing the
preferred scale and transform of a surface. We have explicit events
for that now.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a74aa93394a6d572eb48b1898658dad3e0c5f720

Git commit 791912c67867b84e15f7a70d5f716c9dd8c2c01b by Daniel Stone (on behalf of Sébastien Marie) on 21/02/2024 at 15:46..
compat: prefer waitpid() over waitid()

while both are defined by POSIX, waitpid() is more common than waitid().

Signed-off-by: Sebastien Marie <semarie at online.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/791912c67867b84e15f7a70d5f716c9dd8c2c01b

Git commit d80bce5f1a0917c013aac54e3f951ffe740d0cbe by Daniel Stone (on behalf of Sébastien Marie) on 21/02/2024 at 15:46..
build: fix build and provide compat for OpenBSD

- wayland-egl-abi-check: try to use llvm-nm first instead of BSD nm (incompatible options)
- avoid forcing _POSIX_C_SOURCE=200809L (SOCK_CLOEXEC become available)
- epoll(7) is provided by a userspace wrapper around kqueue(2) as FreeBSD
- when using SO_PEERCRED, the struct to use is `struct sockpeercred` instead of `struct ucred` on OpenBSD
- provide a compatibility layer for count_open_fds() using sysctl(2) as FreeBSD

Signed-off-by: Sebastien Marie <semarie at online.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d80bce5f1a0917c013aac54e3f951ffe740d0cbe

Git commit 47de87263c88d3e23c7d7eb6d56ff75ddc8a02ef by Thomas Lukaszewicz on 23/02/2024 at 00:40..
Mitigate UAF crashes due to wl_client_destroy reentrancy

There are situations in which a call into wl_client_destroy() can
result in a reentrant call into wl_client_destroy() - which
results in UAF / double free crashes.

For example, this can occur in the following scenario.

1. Server receives a message notifying it that a client has
   disconnected (WL_EVENT_HANGUP [1])

2. This beings client destruction with a call to wl_client_destroy()

3. wl_client_destroy() kicks off callbacks as client-associated
   resources are cleaned up and their destructors and destruction
   signals are invoked.

4. These callbacks eventually lead to an explicit call to
   wl_display_flush_clients() as the server attempts to flush
   events to other connected clients.

5. Since the client has already begun destruction, when it is
   reached in the iteration the flush fails wl_client_destroy()
   is called again [2].

This patch guards against this reentrant condition by removing
the client from the display's client list when wl_client_destroy()
is first called. This prevents access / iteration over the client
after wl_client_destroy() is called.

In the example above, wl_display_flush_clients() will pass over
the client currently undergoing destruction and the reentrant
call is avoided.

[1] https://gitlab.freedesktop.org/wayland/wayland/-/blob/8f499bf4045f88f3a4b4b0a445befca467bebe20/src/wayland-server.c#L342

[2] https://gitlab.freedesktop.org/wayland/wayland/-/blob/8f499bf4045f88f3a4b4b0a445befca467bebe20/src/wayland-server.c#L1512

Signed-off-by: Thomas Lukaszewicz [thomaslukaszewicz at gmail.com](mailto:thomaslukaszewicz at gmail.com)
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/47de87263c88d3e23c7d7eb6d56ff75ddc8a02ef

Git commit 155dd63b58b8fc10d58fa03d6398d1673cea6062 by Simon Ser on 06/03/2024 at 13:17..
Introduce enum wl_arg_type

This is less cryptic to read than letters, and allows the compiler
to check switch statements exhaustiveness.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/155dd63b58b8fc10d58fa03d6398d1673cea6062

Git commit 830883e5b2d3ec20a4f73258bdd97d12e5e9c9bc by Simon Ser on 06/03/2024 at 13:18..
connection: simplify wl_closure_lookup_objects() loop

Decrease the indentation a bit. No functional change.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/830883e5b2d3ec20a4f73258bdd97d12e5e9c9bc

Git commit 7a1e7dd54963fad696aa7a1305440945ba3761d1 by Simon Ser on 06/03/2024 at 13:18..
client: simplify create_outgoing_proxy() loop

Decrease the indentation a bit. No functional change.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/7a1e7dd54963fad696aa7a1305440945ba3761d1

Git commit 440defbd2ba3379b0519ce4f0381bdbe181ce58d by Simon Ser on 06/03/2024 at 13:18..
client: simplify create_proxies() loop

Decrease the indentation a bit. No functional change.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/440defbd2ba3379b0519ce4f0381bdbe181ce58d

Git commit 44b1c0c737f3e877d98ea99459cda828bc1ff0a5 by Simon Ser on 06/03/2024 at 18:09..
connection: use enum wl_arg_type in wl_message_count_arrays()

Missed it in 155dd63b58b8 ("Introduce enum wl_arg_type").

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/44b1c0c737f3e877d98ea99459cda828bc1ff0a5

Git commit aa2a6d560bb2ec39b0643103942dc7b3dfa5976c by Simon Ser on 12/03/2024 at 13:04..
protocol: document that color channels provide electrical values

Expand the work done in [1] to document that all channels store
electrical values. See the discussion in [2].

[1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/316
[2]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/250#note_2311377

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aa2a6d560bb2ec39b0643103942dc7b3dfa5976c

Git commit 8a7ecd774c4032f30949665b42910c2d2cae53f2 by David Benjamin on 25/03/2024 at 00:00..
util: fix undefined behavior in wl_array_for_each

If a wl_array has size zero, wl_array_for_each computes NULL + 0 to get
to the end pointer. This should be fine, and indeed it would be fine in
C++. But the C specification has a mistake here and it is actually
undefined behavior. See
https://davidben.net/2024/01/15/empty-slices.html

Clang's -fsanitize=undefined flags this. I ran into this in Chromium's
build with wayland-scanner on one of our XML files.

../../third_party/wayland/src/src/scanner.c:1853:2: runtime error: applying zero offset to null pointer
    #0 0x55c979b8e02c in emit_code third_party/wayland/src/src/scanner.c:1853:2
    #1 0x55c979b89323 in main third_party/wayland/src/src/scanner.c
    #2 0x7f8dfdb8c6c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #3 0x7f8dfdb8c784 in __libc_start_main csu/../csu/libc-start.c:360:3
    #4 0x55c979b70f39 in _start (...)

An empty XML file is sufficient to hit this case, so I've added it as a
test. To reproduce, undo the fix and include only the test, then build
with:

  CC=clang CFLAGS="-fno-sanitize-recover=undefined" meson build/ -Db_sanitize=undefined -Db_lundef=false
  ninja -C build test

Signed-off-by: David Benjamin <davidben at google.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/8a7ecd774c4032f30949665b42910c2d2cae53f2

Git commit 2621484037869c917621b9f961310f13c09fcc00 by Simon Ser (on behalf of Jordan Williams) on 28/03/2024 at 13:13..
egl: Disable symbols check for static builds

The symbols check only works for dynamic libraries.
When building statically, the test fails.
This is caused by the check filtering out non-dynamic symbols with nm.
This change skips the check when building only static libraries.

Signed-off-by: Jordan Williams <jordan at jwillikers.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2621484037869c917621b9f961310f13c09fcc00

Git commit fbd7460737c9cbae943bbc5d68a0fc6ca753c4d8 by Simon Ser on 28/03/2024 at 13:21..
scanner: add new enum-header mode

This generates a header with only enum definitions. This is useful
to share enum headers between libraries and library users.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/fbd7460737c9cbae943bbc5d68a0fc6ca753c4d8

Git commit 2e0dbb7021f713924954c37537f7831791135c30 by Simon Ser on 28/03/2024 at 13:21..
tests: add scanner test for enum-header

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/2e0dbb7021f713924954c37537f7831791135c30

Git commit 4945f2664fced2cb7b6d836169cfe6e87ee19b90 by Simon Ser (on behalf of Isaac Freund) on 28/03/2024 at 13:27..
wl_touch.cancel: document lack of frame event

This appears to be what at least wlroots-based compositors and kwin do
in practice. However, it's not abundantly clear from the protocol text
what the expected behavior here is. This patch fixes that.

Signed-off-by: Isaac Freund <mail at isaacfreund.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4945f2664fced2cb7b6d836169cfe6e87ee19b90

Git commit 36cef8653fe57eff7d38fc0f4877bb900b1a21ea by Simon Ser on 28/03/2024 at 16:56..
util: convert macros to inline functions

Functionally equivalent except the usual macro footguns are avoided
and type safety is increased.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/36cef8653fe57eff7d38fc0f4877bb900b1a21ea

Git commit d074d52902633d8700ce06b484508db0f8fba02b by Simon Ser (on behalf of Manuel Stoeckl) on 08/04/2024 at 14:05..
connection: Dynamically resize connection buffers

When using fixed size connection buffers, if either the client or the
server is sending requests faster than the other end can cope with, the
connection buffers will fill up, eventually killing the connection.

This can be a problem for example with Xwayland mapping a lot of
windows, faster than the Wayland compositor can cope with, or a
high-rate mouse flooding the Wayland client with pointer events.

To avoid the issue, resize the connection buffers dynamically when they
get full.

Both data and fd buffers are resized on demand.

The default max buffer size is controlled via the wl_display interface
while each client's connection buffer size is adjustable for finer
control.

The purpose is to explicitly have larger connection buffers for specific
clients such as Xwayland, or set a larger buffer size for the client
with pointer focus to deal with a higher input events rate.

v0: Manuel:
   Dynamically resize connection buffers - Both data and fd buffers are
   resized on demand.
v1: Olivier
1. Add support for unbounded buffers on the client side and growable
   (yet limited) connection buffers on the server side.
2. Add the API to set the default maximum size and a limit for a given
   client.
3. Add tests for growable connection buffers and adjustable limits.
v2: Additional fixes by John:
1. Fix the size calculation in ring_buffer_check_space()
2. Fix wl_connection_read() to return gracefully once it has read up to
   the max buffer size, rather than returning an error.
3. If wl_connection_flush() fails with EAGAIN but the transmit
   ring-buffer has space remaining (or can be expanded),
   wl_connection_queue() should store the message rather than
   returning an error.
4. When the receive ring-buffer is at capacity but more data is
   available to be read, wl_connection_read() should attempt to
   expand the ring-buffer in order to read the remaining data.
v3: Thomas Lukaszewicz <tluk at chromium.org>
   Add a test for unbounded buffers
v4: Add a client API as well to force bounded buffers (unbounded
    by default (Olivier)
v5: Simplify ring_buffer_ensure_space() (Sebastian)

Co-authored-by: Olivier Fourdan <ofourdan at redhat.com>
Co-authored-by: John Lindgren <john at jlindgren.net>
Co-authored-by: Sebastian Wick <sebastian at sebastianwick.net>
Signed-off-by: Manuel Stoeckl <code at mstoeckl.com>
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Signed-off-by: John Lindgren <john at jlindgren.net>
Signed-off-by: Sebastian Wick <sebastian at sebastianwick.net>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/237
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/d074d52902633d8700ce06b484508db0f8fba02b

Git commit ad4ed17335e62d0187362dcfe9d70dac886a8065 by Simon Ser on 09/04/2024 at 00:48..
ci: bump Meson version to 0.57

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ad4ed17335e62d0187362dcfe9d70dac886a8065

Git commit e7df1f2af2ccc80a85d28b6b4064c6466e425bd0 by Simon Ser on 09/04/2024 at 00:48..
build: bump minimum Meson version to 0.57

Fixes the following warning:

    tests/meson.build:91: WARNING: Project targets '>= 0.56.0' but uses feature introduced in '0.57.0': env arg in run_target.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e7df1f2af2ccc80a85d28b6b4064c6466e425bd0

Git commit 37699a98b1ebdc488a880b41b4b712403293d5d7 by Simon Ser on 09/04/2024 at 00:48..
ci: use --fatal-meson-warnings

Turns Meson warnings into errors. Useful to avoid missing warnings.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/37699a98b1ebdc488a880b41b4b712403293d5d7

Git commit c5d145a602581ee70f3ee87566ccb5cf1ff6cce8 by Simon Ser on 09/04/2024 at 00:48..
ci: turn on -Dwerror=true for FreeBSD

It was turned on for Linux only.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c5d145a602581ee70f3ee87566ccb5cf1ff6cce8

Git commit 03e304544b9b01c175813215f5930a07152be448 by 6t8k on 21/04/2024 at 17:17..
cursor: memfd_create: try MFD_NOEXEC_SEAL

Effective from Linux 6.3 onward, this creates the memfd without execute
permissions and prevents that setting from ever being changed. A
run-time fallback is made to not using MFD_NOEXEC_SEAL when a
libwayland-cursor compiled on Linux >= 6.3 is run on Linux < 6.3.

This is a defense-in-depth security measure and silences a respective
kernel warning; see: https://lwn.net/Articles/918106/

This implementation is adopted from dnkl's `foot` terminal emulator.

Signed-off-by: 6t8k <6t8k at noreply.codeberg.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/03e304544b9b01c175813215f5930a07152be448

Git commit af1dc3ef4bbbc62675a68ff524edd577f2a56ece by Simon Ser (on behalf of Colin Kinloch) on 23/04/2024 at 08:43..
protocol: Undefine wl_display_sync callback data

Signed-off-by: Colin Kinloch <colin.kinloch at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/af1dc3ef4bbbc62675a68ff524edd577f2a56ece

Git commit 5eeaac6e1114fddeb36682ef1eead967c06e9b02 by Simon Ser (on behalf of Julian Orth) on 23/04/2024 at 09:08..
Clarify behavior of buffer transformations

The new text describes how

- Mutter
- Plasma
- Sway 1.8
- Jay

behave.

Sway 1.9 flipped the behavior of 90 degree and 270 degree
set_buffer_transform requests. [mpv] also changed the behavior of its
vo_wayland_dmabuf backend which makes it only work correctly on sway
1.9.

[mpv]: https://github.com/mpv-player/mpv/pull/12509

It seems that the previous text was open to interpretation or at least
caused some amount of confusion.

Signed-off-by: Julian Orth <ju.orth at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/5eeaac6e1114fddeb36682ef1eead967c06e9b02

Git commit b258d5f36137088e5cb5ae097db7964290da7d55 by Simon Ser on 23/04/2024 at 09:17..
scanner: add validators for enums

Right now compositors need to manually check that enum values sent
by the client are valid. In particular:

- Check that the value sent by the client is not outside of the enum.
- Check that the version of the enum entry is consistent with the
  object version.

Automatically generate validator functions to perform these tasks.

Signed-off-by: Simon Ser <contact at emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/104
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/b258d5f36137088e5cb5ae097db7964290da7d55

Git commit 16aee2ec3829b37f4db623ab9ddab1b789bdd2e2 by Chloé Vulquin on 24/04/2024 at 10:28..
xcursor: catch theme inheritance loops

As of currently, when an xcursor theme depends on itself or another theme
that will eventually depend on it, `xcursor_load_theme` will recurse
infinitely while processing the inherits.

This change introduces a stack-allocated linked list of visited nodes
by name, and skips any already visited nodes in the inherit list.

Side effects:
* Since the linked list is stack-allocated, there is a potential for an
  overflow if there is a very long list of dependencies. If this turns out
  to be a legitimate concern, the linked list is trivial to convert to
  being heap-allocated.
* There is an existing linked list (technically doubly linked list)
  implementation in the wayland codebase. As of currently, the xcursor
  codebase does not refer to it. Consequently, this change writes a
  minimal single linked list implementation to utilize directly.

This changeset fixes #317.

Signed-off-by: Chloé Vulquin <toast at bunkerlabs.net>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/16aee2ec3829b37f4db623ab9ddab1b789bdd2e2

Git commit ee12e69b8fb8c55460126e4e527eb4f7fee5526e by Simon Ser on 24/04/2024 at 16:18..
Add support for the deprecated-since XML attribute

This marks a request, event or enum entry as deprecated since a
given version.

Note that it's not clear what it means if an entry is deprecated
at some version, and the enum is used from some completely different
interface than where it was defined. However, that's a more general
issue with enums, see:
https://gitlab.freedesktop.org/wayland/wayland/-/issues/435

Signed-off-by: Simon Ser <contact at emersion.fr>
References: https://gitlab.freedesktop.org/wayland/wayland/-/issues/89
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ee12e69b8fb8c55460126e4e527eb4f7fee5526e

Git commit da8e1bbc45bde2debc6c8a1f9e3c67cb964de968 by Simon Ser on 24/04/2024 at 16:18..
protocol: mark wl_pointer.axis_discrete as deprecated

Since version 8, this event isn't sent anymore.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/da8e1bbc45bde2debc6c8a1f9e3c67cb964de968

Git commit 80c65f862f7919691d3b0d31810f5a40f8675f37 by Simon Ser on 24/04/2024 at 16:18..
tests: add deprecated-since attributes

Add a new event and enum entry to small.xml with a deprecated-since
attribute to exercise the scanner code generation.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/80c65f862f7919691d3b0d31810f5a40f8675f37

Git commit 6e1db539168562020203498d97f8222cd06a4a43 by Simon Ser on 24/04/2024 at 16:27..
client: fix invalid doc command for WL_MARSHAL_FLAG_DESTROY

Fixes the following warning:

    src/wayland-client-core.h:125: warning: Found non-existing group 'wl_proxy' for the command '@ingroup', ignoring command

"\memberof" cannot be used here because it only works on functions.
The docs for "\memberof" say that "\relates" works in a similar way.

While at it, use a "\" command instead of a "@" command for
consistency with the rest of the file.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/6e1db539168562020203498d97f8222cd06a4a43

Git commit 9069af78a71f6b2aadb11334e5bef9a670a5043d by Simon Ser (on behalf of Sebastian Wick) on 24/04/2024 at 16:32..
protocol: define content updates and their internal queue

Multiple protocols use the term content update without a fill
definition. It makes sense to define it in the core protocol so that not
every other protocol has to define it.

This is supposed to retain the current semantics and only changes the
documentation while defining new terms.

Signed-off-by: Sebastian Wick <sebastian.wick at redhat.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9069af78a71f6b2aadb11334e5bef9a670a5043d

Git commit e60c631ff2860de1d9f064f4f438c0412a6dea6b by Simon Ser (on behalf of Derek Foreman) on 24/04/2024 at 16:40..
client: print debug events that have no listener

Currently WAYLAND_DEBUG text ignores events that have no listener.

It can be helpful to know when you're receiving unhandled events,
as you may have forgotten to add a listener, or adding a dispatch
may have magically seemed to fix code that doesn't appear to be
dispatching anything.

Signed-off-by: Derek Foreman <derek.foreman at collabora.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e60c631ff2860de1d9f064f4f438c0412a6dea6b

Git commit 69633202180acce9d0d5ab4037d80291c71b2307 by Simon Ser on 25/04/2024 at 15:46..
build: bump to version 1.22.91 for the alpha release

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/69633202180acce9d0d5ab4037d80291c71b2307

Git commit 9e4f25692792df679660b390324842c19c0031a5 by Simon Ser (on behalf of Julian Orth) on 09/05/2024 at 14:43..
protocol: explicitly describe wl_keyboard state

And the allowed state transitions.

There has been some confusion regarding which state transitions are
allowed. This change should clarify this.

Signed-off-by: Julian Orth <ju.orth at gmail.com>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/9e4f25692792df679660b390324842c19c0031a5

Git commit f870320958dab7f577b16700e3cca57ea3283397 by Simon Ser on 09/05/2024 at 14:50..
build: bump to version 1.22.92 for the beta release

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/f870320958dab7f577b16700e3cca57ea3283397

Git commit 17965d99e85410f20896c8d353082bd88ba87569 by Vlad Zahorodnii on 16/05/2024 at 09:57..
server: Clarify fd ownership in wl_client_create()

It's unclear whether one needs to call close() if wl_client_create()
fails. Hopefully this change makes it more clear.

Signed-off-by: Vlad Zahorodnii <vlad.zahorodnii at kde.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/17965d99e85410f20896c8d353082bd88ba87569

Git commit 4bade6293806986500c517d3b0df571b1bf95d2d by Simon Ser on 22/05/2024 at 08:55..
server: document wl_display_add_socket_fd() ownership

wl_socket_destroy() will close the socket.

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/4bade6293806986500c517d3b0df571b1bf95d2d

Git commit 0b1626f47346247afe09fbf65978fc237a305892 by Simon Ser on 23/05/2024 at 16:12..
build: bump to version 1.22.93 for the RC1 release

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/0b1626f47346247afe09fbf65978fc237a305892

Git commit 26c419e046a70521e07b849faae901c7521d90df by Hugo Osvaldo Barrera on 29/05/2024 at 12:23..
protocol: clarify divergence in compositor behaviour

This is intended to only document the current situation. Whether further
behaviour will be defined is out of scope and left for protocol v7.

See: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/363
Signed-off-by: Hugo Osvaldo Barrera <hugo at whynothugo.nl>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/26c419e046a70521e07b849faae901c7521d90df

Git commit a156431ea66fe67d69c9fbba8a8ad34dabbab81c by Simon Ser on 30/05/2024 at 18:59..
build: bump to version 1.23.0 for the official release

Signed-off-by: Simon Ser <contact at emersion.fr>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/a156431ea66fe67d69c9fbba8a8ad34dabbab81c

Git commit 1baba96bb5648a577036f5ce977c9d4513f14230 by Héctor Orón Martínez on 22/07/2024 at 06:00..
Move wayland-scanner.pc to libwayland-bin

Acknowledge NMU. Thanks Helmut Grohne!

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/1baba96bb5648a577036f5ce977c9d4513f14230

Git commit c1b3b6c8c3b6eee09e6121cc79b2d0a2865fc5e6 by Héctor Orón Martínez on 22/07/2024 at 06:04..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/c1b3b6c8c3b6eee09e6121cc79b2d0a2865fc5e6

Git commit 277244b2e939f08abea7160f831f5a23e719193f by Héctor Orón Martínez on 22/07/2024 at 11:31..
prepare upcoming release

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/277244b2e939f08abea7160f831f5a23e719193f

Git commit aca0784aa091ab200a8ca2dcf0367a5c41c61e9d by Héctor Orón Martínez on 22/07/2024 at 11:31..
debian/libwayland-client0.symbols: refresh

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/aca0784aa091ab200a8ca2dcf0367a5c41c61e9d

Git commit e6b2d5753db168e2d8dde8c7a741f3fde3776a62 by Héctor Orón Martínez on 22/07/2024 at 11:31..
debian/libwayland-server0.symbols: refresh

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/e6b2d5753db168e2d8dde8c7a741f3fde3776a62

Git commit ec5a3c91e33eded5b4b7ee9f4a6229be6c31c866 by Héctor Orón Martínez on 22/07/2024 at 11:31..
Release Debian version 1.23.0-1

Signed-off-by: Héctor Orón Martínez <zumbi at debian.org>
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/ec5a3c91e33eded5b4b7ee9f4a6229be6c31c866

Git commit 447f2f256899198fd52a200ab62a616929cd32ee by Jonathan Riddell on 12/11/2024 at 12:30..
Merge remote-tracking branch 'salsa/debian-unstable' into Neon/release
https://invent.kde.org/neon/backports-noble/wayland-noble/-/commit/447f2f256899198fd52a200ab62a616929cd32ee


More information about the Neon-commits mailing list