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

KDE Git Services - Bulk Change null at kde.org
Thu Oct 13 11:15:48 BST 2022


Git repository change summary for neon/backports-jammy/wayland
Pushed by jriddell into branch 'debian-unstable'.
Changed from 0000000000000000000000000000000000000000 to 47b2d532db4a3b1462cc5869b2259d21c95b89aa
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 97f1ebe8d5c2e166fabf757182c289fed266a45a by Kristian Høgsberg on 30/09/2008 at 13:56..
Initial commit.

This has the basic event loop, and a first cut of the libffi dispatcher.
https://invent.kde.org/neon/backports-jammy/wayland/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a

Git commit 33bea964cae3791cc00173b62e82089168f87804 by Kristian Høgsberg on 01/10/2008 at 02:21..
More NOTES.
https://invent.kde.org/neon/backports-jammy/wayland/commit/33bea964cae3791cc00173b62e82089168f87804

Git commit a67a71a7cf2f6cf17cb10eeeb4e9bb867bb9eb40 by Kristian Høgsberg on 07/10/2008 at 14:10..
Bunch of new stuff: simple compositor, cairo+gem use in client, events.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a67a71a7cf2f6cf17cb10eeeb4e9bb867bb9eb40

Git commit 05eff51e413ff48c2edd2a2ab3ca9f9435c5c855 by Kristian Høgsberg on 06/11/2008 at 15:51..
Add surface.map request.
https://invent.kde.org/neon/backports-jammy/wayland/commit/05eff51e413ff48c2edd2a2ab3ca9f9435c5c855

Git commit c5089878cb6972ccb114ca83c118cee595128e91 by Kristian Høgsberg on 06/11/2008 at 15:51..
Make in and out circular buffers actually work.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c5089878cb6972ccb114ca83c118cee595128e91

Git commit 680f1c702515c3ddcd4d819ee840a92787d657ae by Kristian Høgsberg on 06/11/2008 at 15:51..
Split out connection io buffer logic.
https://invent.kde.org/neon/backports-jammy/wayland/commit/680f1c702515c3ddcd4d819ee840a92787d657ae

Git commit 427524aedf0373250b907640f4f69d1bf3f16b8f by Kristian Høgsberg on 06/11/2008 at 15:51..
Use new connection object in client code too.
https://invent.kde.org/neon/backports-jammy/wayland/commit/427524aedf0373250b907640f4f69d1bf3f16b8f

Git commit 16eb6753991d33cc2a90e6f8d1b970cf4603ef0e by Kristian Høgsberg on 06/11/2008 at 15:51..
Add an EGL compositor.  Still pretty lame.
https://invent.kde.org/neon/backports-jammy/wayland/commit/16eb6753991d33cc2a90e6f8d1b970cf4603ef0e

Git commit f921289954840063722c8e3d541c5089b34a082a by Kristian Høgsberg on 06/11/2008 at 15:51..
Handle multiple clients better.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f921289954840063722c8e3d541c5089b34a082a

Git commit 5ebb317383b9863ca7da037a7348ab3ee4f9f34c by Kristian Høgsberg on 06/11/2008 at 15:51..
Recomposite screen in idle handler.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5ebb317383b9863ca7da037a7348ab3ee4f9f34c

Git commit 19a0ac25b9d356ade2bc3bef6e1bcb0cb8626f00 by Kristian Høgsberg on 06/11/2008 at 15:51..
Add notes on throttling, scheduling and atomicity.
https://invent.kde.org/neon/backports-jammy/wayland/commit/19a0ac25b9d356ade2bc3bef6e1bcb0cb8626f00

Git commit ef7a9ca8c9e76e43b7a15db2229fc4b8e0e93fde by Kristian Høgsberg on 06/11/2008 at 15:51..
Run compositor fullscreen, repaint when surfaces come and go.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ef7a9ca8c9e76e43b7a15db2229fc4b8e0e93fde

Git commit 94a2e86dcb30feb1ba8344d548db503115d57783 by Kristian Høgsberg on 06/11/2008 at 15:51..
Track client objects and destroy them on disconnect.

We're going to need a virtual destructor eventually...
https://invent.kde.org/neon/backports-jammy/wayland/commit/94a2e86dcb30feb1ba8344d548db503115d57783

Git commit a234e7026834605312954de4c36b2437636bc0d8 by Kristian Høgsberg on 06/11/2008 at 15:51..
Make test client a little more interesting.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a234e7026834605312954de4c36b2437636bc0d8

Git commit 48a33baec7b617b63efa15fe16892b3c76f8c89e by Kristian Høgsberg on 06/11/2008 at 15:51..
Use triangle strips for drawing surfaces.
https://invent.kde.org/neon/backports-jammy/wayland/commit/48a33baec7b617b63efa15fe16892b3c76f8c89e

Git commit d311e8a06114d82a8ef9d8cee1903dd5cb4ad844 by Kristian Høgsberg on 06/11/2008 at 15:51..
Make clients graphics use lighter random colors.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d311e8a06114d82a8ef9d8cee1903dd5cb4ad844

Git commit 23fceb1cf3ca0840a49e80a084d1299d0cf4520b by Kristian Høgsberg on 06/11/2008 at 15:51..
Add note about fullscreen surfaces, misc edits.
https://invent.kde.org/neon/backports-jammy/wayland/commit/23fceb1cf3ca0840a49e80a084d1299d0cf4520b

Git commit c508d93be27bdaf53fbb656e10a1d2ec15b94431 by Kristian Høgsberg on 06/11/2008 at 15:51..
Update for eagle changes.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c508d93be27bdaf53fbb656e10a1d2ec15b94431

Git commit 362a34ed898d62558c8cd0afc8a1a93f3fd2aa4c by Kristian Høgsberg on 06/11/2008 at 15:51..
Drop unused struct definition.
https://invent.kde.org/neon/backports-jammy/wayland/commit/362a34ed898d62558c8cd0afc8a1a93f3fd2aa4c

Git commit f9bc795a7d72c0877119b3564f865af579603bde by Kristian Høgsberg on 06/11/2008 at 15:51..
Add crude input device support.

Just pointer motion and button clicks for now, broadcast to all clients.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f9bc795a7d72c0877119b3564f865af579603bde

Git commit e120a4b1ee1ea7e153280340f4f68ce61fcedd5c by Kristian Høgsberg on 06/11/2008 at 15:51..
Rename client, prepare Makefile for more clients.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e120a4b1ee1ea7e153280340f4f68ce61fcedd5c

Git commit 5a27f3e6a787be874e0415eda184b0ee01b95a39 by Kristian Høgsberg on 06/11/2008 at 15:52..
Add a new client that draws a pointer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5a27f3e6a787be874e0415eda184b0ee01b95a39

Git commit d3fa34ca298e734d4e7f14a7023848ff13360109 by Kristian Høgsberg on 06/11/2008 at 15:53..
Don't use poll timeout for timing animation.

Receiving events breaks out of the poll and resets the time out.
Effectively, this blocks the animation when the client receives events.
As a quick fix, use timerfd for timing the animation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d3fa34ca298e734d4e7f14a7023848ff13360109

Git commit 1b2f4390f54ed9f5ed0f1440c2fd620ec06e1590 by Kristian Høgsberg on 06/11/2008 at 15:53..
Unpremultiply cairo surface data.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1b2f4390f54ed9f5ed0f1440c2fd620ec06e1590

Git commit 6b5e7626f5458864726712cf7e49a70fa421f934 by Kristian Høgsberg on 06/11/2008 at 15:53..
Move background drawing to a client.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6b5e7626f5458864726712cf7e49a70fa421f934

Git commit 2a20d83fdb8a9513e3ced35712e62826eac431be by Kristian Høgsberg on 06/11/2008 at 15:53..
Always poll on display fd so we only read when there's data.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2a20d83fdb8a9513e3ced35712e62826eac431be

Git commit 61017b190a5c46e052f02a49c094e42316f2e511 by Kristian Høgsberg on 06/11/2008 at 15:53..
Add a window client, first implementation of surface resizing.
https://invent.kde.org/neon/backports-jammy/wayland/commit/61017b190a5c46e052f02a49c094e42316f2e511

Git commit 3f59e82c20e2bcbf663701fb1abfb6132e6d04ea by Kristian Høgsberg on 06/11/2008 at 15:53..
Use GL_ONE for the source in glBendFunc instead of pre-unmultiplying.

Eventually we need to allow both pre-multiplied alpha and not, but for now default to premultiplied.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f59e82c20e2bcbf663701fb1abfb6132e6d04ea

Git commit ca1d1f65d0b76224a158f01751ff34973e8092e7 by Kristian Høgsberg on 06/11/2008 at 15:53..
Make window client a little more interesting.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ca1d1f65d0b76224a158f01751ff34973e8092e7

Git commit 2d9cd1ee5146fab1ed2aaedaea9a6408c9b78678 by Kristian Høgsberg on 06/11/2008 at 15:53..
Use eglBindTexImage instead of copying texture data.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2d9cd1ee5146fab1ed2aaedaea9a6408c9b78678

Git commit 35370f80735d2a8926aadd081b2ca9a0367cc557 by Kristian Høgsberg on 06/11/2008 at 15:53..
Redraw window in idle handler.
https://invent.kde.org/neon/backports-jammy/wayland/commit/35370f80735d2a8926aadd081b2ca9a0367cc557

Git commit 33a52bd07d28853dbdc19a1426be45f17e573c6b by Kristian Høgsberg on 06/11/2008 at 15:53..
Add README for the adventurous, allow evdev override from getenv().
https://invent.kde.org/neon/backports-jammy/wayland/commit/33a52bd07d28853dbdc19a1426be45f17e573c6b

Git commit 8a9cda8cfb25d1dc41ed3864ee0b9ee637495b24 by Kristian Høgsberg on 06/11/2008 at 15:53..
Add the gears from glxgears.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8a9cda8cfb25d1dc41ed3864ee0b9ee637495b24

Git commit b8bf19b7a9f3a9ea02cfd0c57986d589b40a81d5 by Kristian Høgsberg on 06/11/2008 at 15:53..
Clear depth buffer, but only depth buffer for gears.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b8bf19b7a9f3a9ea02cfd0c57986d589b40a81d5

Git commit 56f3c71f8c5c153b75fb061333c7a9bacdd388a5 by Kristian Høgsberg on 06/11/2008 at 15:53..
Add a FIXME for when we have a working fbconfig chooser.
https://invent.kde.org/neon/backports-jammy/wayland/commit/56f3c71f8c5c153b75fb061333c7a9bacdd388a5

Git commit 61ba898b7358ea0cdc9e933e6f7ddb74de2113e9 by Kristian Høgsberg on 06/11/2008 at 15:53..
README: Add link to google group.
https://invent.kde.org/neon/backports-jammy/wayland/commit/61ba898b7358ea0cdc9e933e6f7ddb74de2113e9

Git commit 5503bf82c44b2da26c27582b3d4400d7fd8d23c3 by Kristian Høgsberg on 06/11/2008 at 15:53..
dlopen the compositor, add a glx compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5503bf82c44b2da26c27582b3d4400d7fd8d23c3

Git commit 7f77bd8fbedee8a8a1fbb26776084ccaffc2a087 by Kristian Høgsberg on 07/11/2008 at 13:39..
Add copy and damage surface requests.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7f77bd8fbedee8a8a1fbb26776084ccaffc2a087

Git commit fb59084fbf03b738276579e121defcc6a586301d by Kristian Høgsberg on 07/11/2008 at 19:27..
Add glib main loop integration, use it in flower client.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fb59084fbf03b738276579e121defcc6a586301d

Git commit 1cbaa6abacfef875ace3d35166f8dc04f4347601 by Kristian Høgsberg on 07/11/2008 at 20:54..
Use glib main loop for all clients.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1cbaa6abacfef875ace3d35166f8dc04f4347601

Git commit 78231c8dd0f16e2a64e16691b1137834062e78d9 by Kristian Høgsberg on 08/11/2008 at 20:06..
Implement surface copy request, use it for egl gears.
https://invent.kde.org/neon/backports-jammy/wayland/commit/78231c8dd0f16e2a64e16691b1137834062e78d9

Git commit f099fd24a364e8ee7a2b9a5d7277e0dfd481bfe4 by Kristian Høgsberg on 08/11/2008 at 20:30..
Use the eagle pkg-config file instead of assuming ../eagle.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f099fd24a364e8ee7a2b9a5d7277e0dfd481bfe4

Git commit b7a01928beda1f9ada42e6a32c5d8ab0400d1069 by Kristian Høgsberg on 08/11/2008 at 20:49..
Add prototypes warnings, use -fvisibility.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b7a01928beda1f9ada42e6a32c5d8ab0400d1069

Git commit 30749426dc7c2b2bb27a877ebac45746b2382281 by Kristian Høgsberg on 08/11/2008 at 21:01..
Tweak pointer image a bit.
https://invent.kde.org/neon/backports-jammy/wayland/commit/30749426dc7c2b2bb27a877ebac45746b2382281

Git commit e4feb563168fe32877c6628600959e106f5a266b by Kristian Høgsberg on 08/11/2008 at 23:53..
Make window prettier again.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e4feb563168fe32877c6628600959e106f5a266b

Git commit 2f2cfae227d0ea9c8f811b257ca1190bfcc3d845 by Kristian Høgsberg on 09/11/2008 at 04:09..
Factor out common cairo code, add blur function.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2f2cfae227d0ea9c8f811b257ca1190bfcc3d845

Git commit 10bdd298b836f9859b8bc5a1645bf0ee48e8a252 by Kristian Høgsberg on 09/11/2008 at 04:27..
Optimize window blur calculation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/10bdd298b836f9859b8bc5a1645bf0ee48e8a252

Git commit 8d7ca6be21889297adb0e27b4743b510320f1b20 by Kristian Høgsberg on 09/11/2008 at 05:22..
Add quick screenshot hack.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8d7ca6be21889297adb0e27b4743b510320f1b20

Git commit 6e635f3472788639b881d0a4c7c61dc5a89b7866 by Kristian Høgsberg on 09/11/2008 at 14:15..
Get corner radius right for inner bevel.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6e635f3472788639b881d0a4c7c61dc5a89b7866

Git commit 8c304f6d9ace435817506b18b228b62787b1ce15 by Kristian Høgsberg on 10/11/2008 at 15:46..
A couple more theme tweaks.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8c304f6d9ace435817506b18b228b62787b1ce15

Git commit 873302649a3374dfae65aae932a6a12f81c09940 by Kristian Høgsberg on 18/11/2008 at 03:23..
Optimize blur a bit more.
https://invent.kde.org/neon/backports-jammy/wayland/commit/873302649a3374dfae65aae932a6a12f81c09940

Git commit 29590034f47f1a532f161e0d2024bab9483390a3 by Kristian Høgsberg on 18/11/2008 at 04:33..
Remove redundant glFlush().
https://invent.kde.org/neon/backports-jammy/wayland/commit/29590034f47f1a532f161e0d2024bab9483390a3

Git commit e9d550bdd4627512f00d30dc80257ce8d93b586a by Kristian Høgsberg on 19/11/2008 at 05:49..
Optimize blur further, resize gears with window.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e9d550bdd4627512f00d30dc80257ce8d93b586a

Git commit 4c9f2c9b1a8b7807512380378730bdd984638cc9 by Kristian Høgsberg on 22/11/2008 at 00:25..
Move pointer drawing into compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4c9f2c9b1a8b7807512380378730bdd984638cc9

Git commit aa5b5bed73d1f12ebc5ab0a7885abda711b75122 by Kristian Høgsberg on 22/11/2008 at 02:31..
Load and draw background in compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa5b5bed73d1f12ebc5ab0a7885abda711b75122

Git commit 548798266ebecea12bdd01869c0d09476e9ce81f by Kristian Høgsberg on 23/11/2008 at 22:07..
Add an overlay type window in the compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/548798266ebecea12bdd01869c0d09476e9ce81f

Git commit 14fcff77265bbdf9893925c993c10d52c178e566 by Kristian Høgsberg on 24/11/2008 at 00:10..
Generalize the object advertising mechanism.
https://invent.kde.org/neon/backports-jammy/wayland/commit/14fcff77265bbdf9893925c993c10d52c178e566

Git commit 1e4b86af1ae16b9eeb4f952f2735b65536bcdc7c by Naruto Uzumaki (on behalf of Kristian Høgsberg) on 24/11/2008 at 05:06..
Expose screenshooting as an interface, drop SIGUSR hack.

This pulls in a bit of extra infrastructure for discovering adertised objects on the
client side.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1e4b86af1ae16b9eeb4f952f2735b65536bcdc7c

Git commit a5a2c8e5dbba5cae6e1997f2b4db6cc1aee6575e by Kristian Høgsberg on 24/11/2008 at 05:12..
Rename input.c to evdev.c.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a5a2c8e5dbba5cae6e1997f2b4db6cc1aee6575e

Git commit ec8ef722e90338c631734d1a1f72b06b6678de6b by Kristian Høgsberg on 24/11/2008 at 05:13..
Add missing breaks in evdev switch.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ec8ef722e90338c631734d1a1f72b06b6678de6b

Git commit cddc0ad502a03040916b47fc75647cd05a9b5e18 by Kristian Høgsberg on 24/11/2008 at 05:31..
Add keyboard input, move input device creation to compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cddc0ad502a03040916b47fc75647cd05a9b5e18

Git commit 9af92b380c419d1447fcb79d952e4f643af98d3c by Kristian Høgsberg on 24/11/2008 at 06:12..
Animate overlay on/off.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9af92b380c419d1447fcb79d952e4f643af98d3c

Git commit f53f4bbd528be246d4517a8cd7371857e583b64d by Kristian Høgsberg on 24/11/2008 at 16:32..
Quit screenshooter when idle.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f53f4bbd528be246d4517a8cd7371857e583b64d

Git commit bf9541ffa34b1bdd94157bae47c4edc4aabecb69 by Kristian Høgsberg on 25/11/2008 at 17:10..
Allocate and set mode in egl-compositor.

Pass the front buffer name to eglCreateSurfaceForName to create the
fullscreen EGLSurface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bf9541ffa34b1bdd94157bae47c4edc4aabecb69

Git commit 443853cbdab72f955a27abfba58eda9bb8f1008e by Kristian Høgsberg on 25/11/2008 at 17:12..
Pick a config instead of hard coding one.
https://invent.kde.org/neon/backports-jammy/wayland/commit/443853cbdab72f955a27abfba58eda9bb8f1008e

Git commit 5c1e6ecab41d94948ab30d482f9b921e44a5bfd6 by Kristian Høgsberg on 25/11/2008 at 18:51..
Tweak overlay animation a bit.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5c1e6ecab41d94948ab30d482f9b921e44a5bfd6

Git commit ffb7406eaa955e104ab9993a4d923152ce205d31 by Kristian Høgsberg on 25/11/2008 at 23:10..
Add different type of overlay animation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ffb7406eaa955e104ab9993a4d923152ce205d31

Git commit 961a04cef08f6475ec82df5608b28a470832b096 by Kristian Høgsberg on 26/11/2008 at 03:38..
Correct pointer hotspot location.
https://invent.kde.org/neon/backports-jammy/wayland/commit/961a04cef08f6475ec82df5608b28a470832b096

Git commit 4097923a644688e0a7bfffbe76c2e8af098e26e5 by Kristian Høgsberg on 26/11/2008 at 03:40..
Add commit request + ack event to wayland core.

Use in window.c to manage life cycle of buffer correctly.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4097923a644688e0a7bfffbe76c2e8af098e26e5

Git commit 73c305851d692a28359c5858fe5592274b75a094 by Kristian Høgsberg on 26/11/2008 at 03:45..
Make overlay animation actually stop.
https://invent.kde.org/neon/backports-jammy/wayland/commit/73c305851d692a28359c5858fe5592274b75a094

Git commit 18fb78307b9609e687bd6b7d6040302c4fbb5e7e by Kristian Høgsberg on 26/11/2008 at 03:53..
Use struct buffer from cairo-util.c in flower.c.
https://invent.kde.org/neon/backports-jammy/wayland/commit/18fb78307b9609e687bd6b7d6040302c4fbb5e7e

Git commit 0ee84083a2403925a265c2c6744ce2bac558ecf2 by Kristian Høgsberg on 26/11/2008 at 04:16..
Convert touchpad absolute events to relative.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ee84083a2403925a265c2c6744ce2bac558ecf2

Git commit f3723fe79e7bafcd663160ee8f7798faf9a2c2f9 by Kristian Høgsberg on 26/11/2008 at 04:18..
Add .gitignore.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f3723fe79e7bafcd663160ee8f7798faf9a2c2f9

Git commit 44f36e3585cf7bb1ba8e73febabb7facf5cd6151 by Kristian Høgsberg on 26/11/2008 at 17:57..
Make ack event signal that the requests have been composited.
https://invent.kde.org/neon/backports-jammy/wayland/commit/44f36e3585cf7bb1ba8e73febabb7facf5cd6151

Git commit fbdbbdc153bf7f6ed22f1b9cb0be73b66e87a3e7 by Kristian Høgsberg on 28/11/2008 at 22:06..
Finally implement the commit/ack/frame protocol and improve repaint loop.

This implements the commit/ack/frame protocol that let clients batch up
a series of requests and then commit them atomically using the commit request.
The commit requests generats two following events: the acknowledge event,
which lets the client know that the server has received the request and
which frame the rendering has been scheduled for.  At this point the client
can start rendering the next frame or free up temporary buffers.  Then when
the compositor finally makes the newly composited frame visible on screen
the server sends a frame event, which contains the number of the frame that
was presented and the time when it happened.

The window and flower clients have been updated to use these two events in
their main loops and everything now updates per frame.  The EGL compositor
repaint loop has been tweaked to delay the compositing of the screen to
10ms after last swapbuffer completed so as to allow processing as many
requests as possible before blocking on the next vertical retrace.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fbdbbdc153bf7f6ed22f1b9cb0be73b66e87a3e7

Git commit 4a29890da774c5724921ee1018fa5ae7852abb81 by Kristian Høgsberg on 28/11/2008 at 23:35..
Generalize event loop a bit and pull in the timerfd stuff.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4a29890da774c5724921ee1018fa5ae7852abb81

Git commit c2b633e6c2c24722ed58f7e04db8cb3c9e2fa95e by Kristian Høgsberg on 29/11/2008 at 00:12..
Add wl_client_marshal() for sending events.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c2b633e6c2c24722ed58f7e04db8cb3c9e2fa95e

Git commit ffd710e65337936f219ec174e60390d57d1a2bac by Kristian Høgsberg on 02/12/2008 at 20:15..
Put Wayland under the MIT license.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ffd710e65337936f219ec174e60390d57d1a2bac

Git commit 3620295d17f43b61070916e1e44a67f4df855dac by Kristian Høgsberg on 02/12/2008 at 20:16..
Drop unused clients, pointer and window.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3620295d17f43b61070916e1e44a67f4df855dac

Git commit fcb6cbd5d02e56c6230338dd1f58941d62fbb4c1 by Kristian Høgsberg on 02/12/2008 at 20:17..
Drop early, obsolete compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fcb6cbd5d02e56c6230338dd1f58941d62fbb4c1

Git commit d91e0497358447370a1fe06c7eb50d11d234b45c by Kristian Høgsberg on 02/12/2008 at 20:18..
Update .gitignore.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d91e0497358447370a1fe06c7eb50d11d234b45c

Git commit 35052568d083ffb5db191993c9233f9a2cf4180b by Kristian Høgsberg on 02/12/2008 at 20:38..
Exit if load_compositor() fails.
https://invent.kde.org/neon/backports-jammy/wayland/commit/35052568d083ffb5db191993c9233f9a2cf4180b

Git commit e2ce43a9bebce49836abfa8b8893bd8dda7fee26 by Kristian Høgsberg on 02/12/2008 at 23:28..
Fix namespace convention for glib source.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e2ce43a9bebce49836abfa8b8893bd8dda7fee26

Git commit b820b82cad2a657935f445b1120f3ab55e80ea7e by Kristian Høgsberg on 04/12/2008 at 23:40..
Add note about how clients could embed other applications.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b820b82cad2a657935f445b1120f3ab55e80ea7e

Git commit d4de54efe73024da52949528ab265ace83da26b8 by Kristian Høgsberg on 05/12/2008 at 04:00..
Use autoconf instead of $(shell ...) in the Makefile.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d4de54efe73024da52949528ab265ace83da26b8

Git commit 87e0a384da42dea76f548a82f03899cf6ca915fc by Kristian Høgsberg on 05/12/2008 at 15:38..
Use type strings for method and event signatures.
https://invent.kde.org/neon/backports-jammy/wayland/commit/87e0a384da42dea76f548a82f03899cf6ca915fc

Git commit 122912c69bb09e0756a836b638182a968659f69c by Kristian Høgsberg on 05/12/2008 at 16:13..
Make the wayland server a library used by the compositors.
https://invent.kde.org/neon/backports-jammy/wayland/commit/122912c69bb09e0756a836b638182a968659f69c

Git commit 841883b43c88538401295da776344c9d0e6e766b by Kristian Høgsberg on 05/12/2008 at 16:19..
Fail if we can't create the compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/841883b43c88538401295da776344c9d0e6e766b

Git commit cb703161057aeb3f4de0faed9f8ff5005efa71a3 by Kristian Høgsberg on 05/12/2008 at 16:20..
Update .gitignore.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cb703161057aeb3f4de0faed9f8ff5005efa71a3

Git commit dc0f355f0ace3538dfea541907aca53ec2ff9590 by Kristian Høgsberg on 07/12/2008 at 20:22..
Fix API to always include socket name length.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dc0f355f0ace3538dfea541907aca53ec2ff9590

Git commit 0c4457f0c287aace452880674db8b3785b819235 by Kristian Høgsberg on 08/12/2008 at 01:05..
Refactor window logic into reusable parts, add a new terminal application.

The gears code is moved into a new file gearc.c and the window decoration
and management code stays in window.c.  A new application 'terminal' is the
second user of the windowing code, but doesn't do anything useful yet.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0c4457f0c287aace452880674db8b3785b819235

Git commit 44e3c5e1ad795a4405f8f0147fddd3afce34b518 by Kristian Høgsberg on 08/12/2008 at 02:51..
Add some text contents to terminal.
https://invent.kde.org/neon/backports-jammy/wayland/commit/44e3c5e1ad795a4405f8f0147fddd3afce34b518

Git commit 269d6e3daf70e13c2e774c64decb7c33a1420b47 by Kristian Høgsberg on 08/12/2008 at 04:17..
Run command in a pty and feed output to wayland terminal.
https://invent.kde.org/neon/backports-jammy/wayland/commit/269d6e3daf70e13c2e774c64decb7c33a1420b47

Git commit 6e83d58153c0bd6efd268dc5d76ee0f87fd3afb1 by Kristian Høgsberg on 08/12/2008 at 05:01..
Add keyboard input to terminal.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6e83d58153c0bd6efd268dc5d76ee0f87fd3afb1

Git commit f04e838d4afd1edde10552e4ade91780b0d52123 by Kristian Høgsberg on 08/12/2008 at 05:07..
Skip escape codes for now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f04e838d4afd1edde10552e4ade91780b0d52123

Git commit b29415ee6d23c83f35b3a0557032996382a8016c by Kristian Høgsberg on 08/12/2008 at 05:16..
Update tail pointer correctly so scrolling works.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b29415ee6d23c83f35b3a0557032996382a8016c

Git commit 0d77fd484c4114e4f60d1c4389aaa1c4d0a0a5e7 by Kristian Høgsberg on 08/12/2008 at 05:23..
Add key map for ctrl modifier as well.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d77fd484c4114e4f60d1c4389aaa1c4d0a0a5e7

Git commit 7a8431f67098d46bd74f6147635e17b0ed9c2e21 by Kristian Høgsberg on 08/12/2008 at 14:39..
Only update gears angle in frame handler.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7a8431f67098d46bd74f6147635e17b0ed9c2e21

Git commit c47303f2d23884bf7e76200f7582ac2f50d966d6 by Kristian Høgsberg on 08/12/2008 at 14:57..
Destroy back buffer in acknowledge handler.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c47303f2d23884bf7e76200f7582ac2f50d966d6

Git commit 721f09f187c8a60e1084d8d88b423c4910048a20 by Kristian Høgsberg on 08/12/2008 at 16:13..
Make sure we don't miss queue redraws between commit and ack.
https://invent.kde.org/neon/backports-jammy/wayland/commit/721f09f187c8a60e1084d8d88b423c4910048a20

Git commit 17809b1e4373ea9e3635d224c5ef1efda6889cfb by Kristian Høgsberg on 08/12/2008 at 17:20..
Handle \e[J and \e[H so we can clear the terminal.
https://invent.kde.org/neon/backports-jammy/wayland/commit/17809b1e4373ea9e3635d224c5ef1efda6889cfb

Git commit 1584c57edcbeb34a628afe12fd6e527fda8ec486 by Kristian Høgsberg on 08/12/2008 at 17:59..
Snap terminal size to an integer number of character cells.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1584c57edcbeb34a628afe12fd6e527fda8ec486

Git commit 221067654c70a2fde12e72dd5df54d32d3431653 by Kristian Høgsberg on 08/12/2008 at 18:50..
Let clients override the suggested size on resize.

This lets gears enforce a square aspect ration and minimum size of 300x300
and the terminal now properly resizes in steps of character cells.
https://invent.kde.org/neon/backports-jammy/wayland/commit/221067654c70a2fde12e72dd5df54d32d3431653

Git commit 9f88b185a0cb8ed78eff49125d10a45aa0a4f3f4 by Kristian Høgsberg on 08/12/2008 at 18:52..
Don't forget to initialize overlay position.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9f88b185a0cb8ed78eff49125d10a45aa0a4f3f4

Git commit 6e0a2f8953f10b1cd7e8c57203beaff4664fbab3 by Kristian Høgsberg on 08/12/2008 at 19:06..
Tweak terminal font color.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6e0a2f8953f10b1cd7e8c57203beaff4664fbab3

Git commit 73f4e760a2f188dc17ce750b8521f231d49c5733 by Kristian Høgsberg on 08/12/2008 at 19:07..
Fix wl_method for screenshooter.
https://invent.kde.org/neon/backports-jammy/wayland/commit/73f4e760a2f188dc17ce750b8521f231d49c5733

Git commit dbd54640f4308e2f6f1c73788de026f1d80c3b0f by Kristian Høgsberg on 09/12/2008 at 03:22..
Implement a bunch of escape codes.

Bash command line editing and gdb is pretty much there.  Emacs, vi and even less
need more work.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dbd54640f4308e2f6f1c73788de026f1d80c3b0f

Git commit fdea72a078f15740a86ea48ad2d479d29c68370a by Kristian Høgsberg on 09/12/2008 at 15:48..
Handle interrupted system calls in connection code.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fdea72a078f15740a86ea48ad2d479d29c68370a

Git commit 98fed0fb8477b68e7200aaa4e5959adb57065c66 by Kristian Høgsberg on 09/12/2008 at 18:35..
Use bilinear filtering.
https://invent.kde.org/neon/backports-jammy/wayland/commit/98fed0fb8477b68e7200aaa4e5959adb57065c66

Git commit eac149ad067370e1234740b9ee41dd29c77d1cc0 by Kristian Høgsberg on 10/12/2008 at 05:24..
Pass button clicks through to compositor.

This lets us handle raising windows, which is useful.
https://invent.kde.org/neon/backports-jammy/wayland/commit/eac149ad067370e1234740b9ee41dd29c77d1cc0

Git commit 201a904889a4c12e9961df7967ce4ee21b52bf5a by Kristian Høgsberg on 10/12/2008 at 05:40..
Drop surface iterator API, just track surfaces in the compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/201a904889a4c12e9961df7967ce4ee21b52bf5a

Git commit 715a081cf48b1d448cf2535309b7727f4b868308 by Kristian Høgsberg on 10/12/2008 at 15:42..
Feed motion events through compositor.

This lets us pass events only to the window that we're mousing over
and we can now transform input events back to the window coordinate space.
https://invent.kde.org/neon/backports-jammy/wayland/commit/715a081cf48b1d448cf2535309b7727f4b868308

Git commit 5a75c90d0153eb8f57993d17a3a0884ed8eb6907 by Kristian Høgsberg on 10/12/2008 at 18:16..
Feed button events through compositor.

This also generalizes the code to send events to a surface a bit.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5a75c90d0153eb8f57993d17a3a0884ed8eb6907

Git commit 7fdff04cdc92f9db58f11c19e93af7e8ef68f62c by Kristian Høgsberg on 10/12/2008 at 18:25..
Only send key events to toplevel surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7fdff04cdc92f9db58f11c19e93af7e8ef68f62c

Git commit 4a8767bbb7392515add63d38111a90cc70dd30cd by Kristian Høgsberg on 10/12/2008 at 18:49..
Install libraries plus headers and add pkg-config files.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4a8767bbb7392515add63d38111a90cc70dd30cd

Git commit b96785ca612b60ff0c90dd225852c99223d965a1 by Kristian Høgsberg on 10/12/2008 at 22:26..
Drop glx-compositor for now.

Might want to resurrect this later, but for now, let's not try to
drag it along.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b96785ca612b60ff0c90dd225852c99223d965a1

Git commit d1c58d60f6c212c3de1f2c214745ef4db9623c7e by Kristian Høgsberg on 10/12/2008 at 22:31..
Fix signature for pointer motion event.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d1c58d60f6c212c3de1f2c214745ef4db9623c7e

Git commit 5ee1a60f1a03b3176332f6d4f27744d0dfdb0601 by Kristian Høgsberg on 12/12/2008 at 04:18..
Rewrite input event delivery path.

Instead of having the input driver push the events into the core server,
only to have the server call back out to the compositor hooks, the driver now
just calls the compositor directly.  The input drivers are always dependent on
the type of compositor anyway so there was no point in passing the events
through the server.  Now the server is only involved when it's time to actually
send the events to the clients.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5ee1a60f1a03b3176332f6d4f27744d0dfdb0601

Git commit 29573bc56985ea8256c7c042f6aebc209a13b386 by Kristian Høgsberg on 12/12/2008 at 04:27..
Implement passive grabs on button clicks.
https://invent.kde.org/neon/backports-jammy/wayland/commit/29573bc56985ea8256c7c042f6aebc209a13b386

Git commit aad70ba986629fac106b567b78b39f6a2caa1279 by Kristian Høgsberg on 12/12/2008 at 14:53..
Forgot to add egl-compositor.h.
https://invent.kde.org/neon/backports-jammy/wayland/commit/aad70ba986629fac106b567b78b39f6a2caa1279

Git commit 9e4c76b5300c5eee252c5ad0251411ce05a983dd by Kristian Høgsberg on 12/12/2008 at 15:26..
Pass -fPIC when compiling shared libraries.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9e4c76b5300c5eee252c5ad0251411ce05a983dd

Git commit 997e71eb1e6322fb91b0c8be2fe7e29c68b8b4df by Kristian Høgsberg on 12/12/2008 at 15:33..
Use the screen size for sizing the background.
https://invent.kde.org/neon/backports-jammy/wayland/commit/997e71eb1e6322fb91b0c8be2fe7e29c68b8b4df

Git commit 864c468b4232c9529fc90cf76f5686657bab9c27 by Kristian Høgsberg on 12/12/2008 at 17:17..
Make sure we initialize object hash.

This patch also move the hash implementation details to wayland-util.c.
https://invent.kde.org/neon/backports-jammy/wayland/commit/864c468b4232c9529fc90cf76f5686657bab9c27

Git commit d6531261de0c8b44e84f413a152477ae5d709f7e by Kristian Høgsberg on 12/12/2008 at 17:17..
Add option parsing using GOption.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d6531261de0c8b44e84f413a152477ae5d709f7e

Git commit c492b482d02e04ca2bd0feaf7c14d29c85b245a3 by Kristian Høgsberg on 12/12/2008 at 17:17..
Make multi-pointer work.

This also add command line parsing as a way to specify the input
device files to use.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c492b482d02e04ca2bd0feaf7c14d29c85b245a3

Git commit f0c7b2083ac0654dba6508e8ddd5de1a431a95e1 by Kristian Høgsberg on 12/12/2008 at 18:39..
Don't close uninitialized fd, check forkpty error.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f0c7b2083ac0654dba6508e8ddd5de1a431a95e1

Git commit a7700c8ff1b0ec5b06048092bb16f0531ec89e08 by Kristian Høgsberg on 12/12/2008 at 18:48..
Handle per-device keyboard focus.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a7700c8ff1b0ec5b06048092bb16f0531ec89e08

Git commit 64949978f47607ea356b4c4e6c7a3379f1266ed7 by Kristian Høgsberg on 12/12/2008 at 19:48..
Fix default input device path.
https://invent.kde.org/neon/backports-jammy/wayland/commit/64949978f47607ea356b4c4e6c7a3379f1266ed7

Git commit 3f16956c067e825109d1e2ce925fae3ba7040207 by Kristian Høgsberg on 14/12/2008 at 20:52..
Initialize count to 0 in wl_list_length().

Not sure how this ever really worked before...
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f16956c067e825109d1e2ce925fae3ba7040207

Git commit 0ea4710b3dcf1fcfd596a1d68e0ab38e3657bc5f by Kristian Høgsberg on 14/12/2008 at 20:53..
Use gdk-pixbuf for saving the screenshot.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ea4710b3dcf1fcfd596a1d68e0ab38e3657bc5f

Git commit d2412e2c2ea463189550d5f7a5d95a7aab13a502 by Kristian Høgsberg on 16/12/2008 at 01:35..
Redesign the compositor / server interface.

This lets the compositor directly provide the implementation of the RMI
objects for the surface object and a new compositor object.  We avoid the
manual forwarding of requests into the compositor and the clumsy compositor
interface struct.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d2412e2c2ea463189550d5f7a5d95a7aab13a502

Git commit 5b7f832eabba6b9fa04a5b433a7fd77abeba7165 by Kristian Høgsberg on 18/12/2008 at 17:10..
Fall back to solid color background if not image is found.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5b7f832eabba6b9fa04a5b433a7fd77abeba7165

Git commit b7037a02f02069e207a633ec6f00b805ebaf17eb by Kristian Høgsberg on 18/12/2008 at 18:18..
Don't pin front buffer, kernel modesetting takes care of that now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b7037a02f02069e207a633ec6f00b805ebaf17eb

Git commit c8c5d5872d3e12896eeb70c48883143a50a1cdb7 by Kristian Høgsberg on 18/12/2008 at 19:50..
Set terminal type to vt100.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c8c5d5872d3e12896eeb70c48883143a50a1cdb7

Git commit de31d5ca6f2650da3c4e8c45acdcee73ed655602 by Kristian Høgsberg on 18/12/2008 at 22:55..
Add preliminary visual support.
https://invent.kde.org/neon/backports-jammy/wayland/commit/de31d5ca6f2650da3c4e8c45acdcee73ed655602

Git commit e10b8285628b0265b53486e16c1fa5ebd451ecd2 by Kristian Høgsberg on 19/12/2008 at 00:58..
Remember to handle rgb_visual case in surface_attach.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e10b8285628b0265b53486e16c1fa5ebd451ecd2

Git commit 18fd33c9bb4708f3009e94609e5d9b03b93f93a4 by Kristian Høgsberg (on behalf of Ray Strode) on 19/12/2008 at 02:05..
Fix rgb byte order for GdkPixbuf backgrounds.
https://invent.kde.org/neon/backports-jammy/wayland/commit/18fd33c9bb4708f3009e94609e5d9b03b93f93a4

Git commit 2d4219e54222f7bd5fd2b89f03ba5a0701b9f3e6 by Kristian Høgsberg on 19/12/2008 at 02:40..
Scale background pixbuf when loading.

This lets us avoid hitting the texture limit for some backgrounds.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2d4219e54222f7bd5fd2b89f03ba5a0701b9f3e6

Git commit 90e701df0898538ca06ad4327697a4e55644b4d4 by Kristian Høgsberg (on behalf of Ray Strode) on 19/12/2008 at 04:06..
Force pointer to stay on screen.

Without this change it's really easy to
accidentally send the pointer flying and not
be able to get it back.
https://invent.kde.org/neon/backports-jammy/wayland/commit/90e701df0898538ca06ad4327697a4e55644b4d4

Git commit fe57347cb9b1653baf62db76804fa3d8d84be720 by Ray Strode on 19/12/2008 at 06:49..
Add new event loop api for watching signals

This will provide us with a nice, safe mechanism
for getting notification of VT changes.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fe57347cb9b1653baf62db76804fa3d8d84be720

Git commit 19ad6a9db3ab699cdb7cee3bd0232ccb6d0e1e0e by Ray Strode on 19/12/2008 at 06:49..
Restore framebuffer when switching back to VT

The kernel currently automatically redirects
output to the kernel framebuffer when switching
VTs away from wayland.  It doesn't restore
output back to wayland's fb when coming back
to the VT.  This patch works around that issue.
https://invent.kde.org/neon/backports-jammy/wayland/commit/19ad6a9db3ab699cdb7cee3bd0232ccb6d0e1e0e

Git commit 38ccd3a23e51dfa06064e438619e7eef65564687 by Kristian Høgsberg on 19/12/2008 at 15:15..
Do vt ioctl on the right fd.
https://invent.kde.org/neon/backports-jammy/wayland/commit/38ccd3a23e51dfa06064e438619e7eef65564687

Git commit 2c875bd31e510391ab6e7d21f35b7f39af08a132 by Kristian Høgsberg on 19/12/2008 at 16:13..
Cache modesetting data and just do drmModeSetCrtc on vt enter.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2c875bd31e510391ab6e7d21f35b7f39af08a132

Git commit 112c0bee18b36786a5154c4090120d59bf830beb by Kristian Høgsberg on 19/12/2008 at 16:17..
Remove visual debug prints.
https://invent.kde.org/neon/backports-jammy/wayland/commit/112c0bee18b36786a5154c4090120d59bf830beb

Git commit 15d0f8b236efde6db3211182bdc45b10bdf61d2d by Kristian Høgsberg on 19/12/2008 at 17:13..
Use the new eagle config chooser for picking the config.
https://invent.kde.org/neon/backports-jammy/wayland/commit/15d0f8b236efde6db3211182bdc45b10bdf61d2d

Git commit 82f6e8a2efcf6039f0ada8dfa3828d203c0b797d by Kristian Høgsberg on 19/12/2008 at 18:47..
Rename egl-compositor to wayland-system-compositor.

The wayland-system-compositor is the top-level compositor.  X sessions
or nested Wayland sessions will run as clients of the system compositor.
The system compositor is licensed under the GPL.
https://invent.kde.org/neon/backports-jammy/wayland/commit/82f6e8a2efcf6039f0ada8dfa3828d203c0b797d

Git commit 2c0e56b2d5d31f3665b6af4d6ea12fa5c66fc067 by Kristian Høgsberg on 19/12/2008 at 18:54..
Drop the silly overlay hack.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2c0e56b2d5d31f3665b6af4d6ea12fa5c66fc067

Git commit 966aa112e7851625f764718e3d45c46d246760fc by Kristian Høgsberg (on behalf of Ray Strode) on 19/12/2008 at 22:38..
Ignore tty input

Previously, ctrl-c would kill wayland and input like
passwords and commands would get typed into the terminal
under the scenes.
https://invent.kde.org/neon/backports-jammy/wayland/commit/966aa112e7851625f764718e3d45c46d246760fc

Git commit 33500890b32f33e1bf95ec8c9460079232a3f7e3 by Kristian Høgsberg on 19/12/2008 at 22:38..
Handle more control characters in terminal.
https://invent.kde.org/neon/backports-jammy/wayland/commit/33500890b32f33e1bf95ec8c9460079232a3f7e3

Git commit e96dcb8f93565fd6d4ef49ccc6e03e9e70ed3ef6 by Ray Strode on 20/12/2008 at 07:00..
Only forward events to compositor if on active VT

Previously, we'd send things like the user's password
to the active irc window when they logged into a getty
running on a different tty.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e96dcb8f93565fd6d4ef49ccc6e03e9e70ed3ef6

Git commit 7e972a5b18883befec4f987b986eafc9cb5cc0a0 by Kristian Høgsberg on 21/12/2008 at 22:26..
Move coordinate transformation to pick_surface().
https://invent.kde.org/neon/backports-jammy/wayland/commit/7e972a5b18883befec4f987b986eafc9cb5cc0a0

Git commit e3ef3e59f82ab8224722279f40359a116b10d479 by Kristian Høgsberg on 22/12/2008 at 00:30..
Oops, fix compilation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e3ef3e59f82ab8224722279f40359a116b10d479

Git commit 0ab262421ae486d4087dc693c530de1b750fd510 by Kristian Høgsberg on 22/12/2008 at 00:33..
Consolidate tty setup and fix a few spacing issues.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ab262421ae486d4087dc693c530de1b750fd510

Git commit bf967b469f21f915931853d53a3a7108054cf29e by Kristian Høgsberg on 22/12/2008 at 01:25..
Advertise globals using a new display event.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bf967b469f21f915931853d53a3a7108054cf29e

Git commit fe831a749421470c6c1c8e842a785d7fc3c4ac9b by Kristian Høgsberg on 22/12/2008 at 02:50..
Move protocol metadata to wayland-protocol.[ch].

This lets us share the metadata between server and client and we
can now use a va_arg marshalling function for sending client
requets.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fe831a749421470c6c1c8e842a785d7fc3c4ac9b

Git commit fb6d68ddbe76d2cf716bf6075e6e1afe2caaea1e by Kristian Høgsberg on 22/12/2008 at 02:57..
Represent event and method metadata with struct wl_message.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fb6d68ddbe76d2cf716bf6075e6e1afe2caaea1e

Git commit 97079ad52c313d4b622110cae978ee7c2392b714 by Kristian Høgsberg on 22/12/2008 at 03:45..
Send client id range as an event.

This also makes the server send the event again when the client is
about to exhaust its current client range.
https://invent.kde.org/neon/backports-jammy/wayland/commit/97079ad52c313d4b622110cae978ee7c2392b714

Git commit 8049cbb88a4d2c93cdee9188eeb1d219aebcd343 by Kristian Høgsberg on 22/12/2008 at 04:33..
Also check for interface version wl_display_get_object_id().
https://invent.kde.org/neon/backports-jammy/wayland/commit/8049cbb88a4d2c93cdee9188eeb1d219aebcd343

Git commit ee02ca6fa489a99ddec5d1542d51cce9948d39a9 by Kristian Høgsberg on 22/12/2008 at 04:37..
Add hook to allow globals to send cold-plug events to new clients.

This lets us boot strap the client side state cache.  This commit also adds the first user
of this feature, an output object that represents the current output.  Very simple
at this point, but will grow to something more like RandR 1.2.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ee02ca6fa489a99ddec5d1542d51cce9948d39a9

Git commit 0395f30e652bd32234942206bce15e7e6f3a9fb1 by Kristian Høgsberg on 22/12/2008 at 17:14..
Add a fullscreen mode to the terminal.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0395f30e652bd32234942206bce15e7e6f3a9fb1

Git commit 12ea62e2112c754d62113e0656b223fbdbe351dd by Kristian Høgsberg on 22/12/2008 at 21:37..
Add a proxy for the server side output object.
https://invent.kde.org/neon/backports-jammy/wayland/commit/12ea62e2112c754d62113e0656b223fbdbe351dd

Git commit fabd4395ba309850403f94a459c3a7298351dd0a by Kristian Høgsberg on 22/12/2008 at 23:06..
Track objects client side using a hash too.

This leads up to using the demarshal machinery for decoding events
in the client library.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fabd4395ba309850403f94a459c3a7298351dd0a

Git commit b3131d9268ce68062c7410a9b672539026000f75 by Kristian Høgsberg on 25/12/2008 at 00:31..
Add client side demarshalling for events.

This also consolidates the marshalling code in connection.c and
uses the same functions in the server and client for marshalling.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b3131d9268ce68062c7410a9b672539026000f75

Git commit e787bc60e50da65204e53b7587fca05d011e38ba by Kristian Høgsberg on 30/12/2008 at 15:53..
Use a more generic glob for input devices.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e787bc60e50da65204e53b7587fca05d011e38ba

Git commit 94448c0ad7fc452aa363f74021b7c3d87f20a462 by Kristian Høgsberg on 30/12/2008 at 16:03..
Add listener interfaces for output and input_device objects.
https://invent.kde.org/neon/backports-jammy/wayland/commit/94448c0ad7fc452aa363f74021b7c3d87f20a462

Git commit 890bc057631428e542510336c770427837a0d27e by Kristian Høgsberg on 30/12/2008 at 19:31..
Use libudev for enumerating input devices.
https://invent.kde.org/neon/backports-jammy/wayland/commit/890bc057631428e542510336c770427837a0d27e

Git commit 81ce09a6c4226221c4f6f607b19d85827dff2244 by Kristian Høgsberg on 31/12/2008 at 21:18..
Split out per-output state, use libudev for enumerating hardware.

This paves the way for proper multi-head support and removes more
hardcoded i965 defaults by using udev to discover output devices
and their PCI IDs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/81ce09a6c4226221c4f6f607b19d85827dff2244

Git commit ff52fbaaf87ff75bfdcb9c2766ba2f76f2d9bab2 by Kristian Høgsberg on 31/12/2008 at 21:24..
Add wayland udev rules file.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ff52fbaaf87ff75bfdcb9c2766ba2f76f2d9bab2

Git commit aa68fe346a01c394c90e246dd647e6d0947850f8 by Kristian Høgsberg on 16/01/2009 at 11:38..
Update to track udev API change in eagle.
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa68fe346a01c394c90e246dd647e6d0947850f8

Git commit 3b94998f6ac3c7fdace3a7369beb555dbf81f75c by Kristian Høgsberg on 16/01/2009 at 11:38..
Randomize flower offset again.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3b94998f6ac3c7fdace3a7369beb555dbf81f75c

Git commit e68d24c559cdc3043a63f82bd7d81fc28e860b8e by Kristian Høgsberg on 16/01/2009 at 11:39..
Initialize output position properly.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e68d24c559cdc3043a63f82bd7d81fc28e860b8e

Git commit 32692d2f48693ed61957f3252307ca26cdf50a18 by Kristian Høgsberg on 16/01/2009 at 12:47..
Fix udev rules install rule.
https://invent.kde.org/neon/backports-jammy/wayland/commit/32692d2f48693ed61957f3252307ca26cdf50a18

Git commit 0ac16f056dc32235a54d1376cf8018d080506813 by Kristian Høgsberg on 16/01/2009 at 12:49..
Switch to cairo-drm, drop struct buffer hacks.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ac16f056dc32235a54d1376cf8018d080506813

Git commit 8012f32978b9b3d7ca162d971be48f6d3c0aa891 by Kristian Høgsberg on 16/01/2009 at 13:13..
Drop libdrm CFLAGS where no longer necessary.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8012f32978b9b3d7ca162d971be48f6d3c0aa891

Git commit b14852d7a29037d6001480acce99a41c8d794e38 by Kristian Høgsberg on 27/01/2009 at 02:37..
Only tag the card0 device with seat info for now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b14852d7a29037d6001480acce99a41c8d794e38

Git commit f13eb147117be427858285dcbb06757c9160c0cd by Kristian Høgsberg on 27/01/2009 at 02:38..
Depend on udev 136 and clean up some code.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f13eb147117be427858285dcbb06757c9160c0cd

Git commit c0b44328d25900678bdff9b68a6760afafde5a6d by Kristian Høgsberg on 27/01/2009 at 03:54..
Use glReadPixels() for the screen shooter

"Those who don't understand OpenGL are bound to reimplement it badly..."
https://invent.kde.org/neon/backports-jammy/wayland/commit/c0b44328d25900678bdff9b68a6760afafde5a6d

Git commit 8e438625ae1599969d6a6dd29fc4e1c05f5763cc by Kristian Høgsberg on 27/01/2009 at 04:07..
Finish egl_* to wlsc_* rename.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8e438625ae1599969d6a6dd29fc4e1c05f5763cc

Git commit 43c28eee32ae9383d3056e45a8f824710ce4615d by Kristian Høgsberg on 27/01/2009 at 04:42..
Add a toy-display object that caches state.

This will be GdkDisplay for GTK+ on Wayland etc.  This restores
the terminal fullscreen mode.
https://invent.kde.org/neon/backports-jammy/wayland/commit/43c28eee32ae9383d3056e45a8f824710ce4615d

Git commit f75f0e80b78b5871fb26364f8f445dff08b42944 by Kristian Høgsberg on 06/02/2009 at 04:01..
Add a crazy rambling style TODO file.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f75f0e80b78b5871fb26364f8f445dff08b42944

Git commit fdec236609ec1130b5f4a4192d22ed72fc718f77 by Kristian Høgsberg on 02/01/2001 at 03:23..
Switch to using a projective transformation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fdec236609ec1130b5f4a4192d22ed72fc718f77

Git commit ab909aedac076926ebc5d752c9739cbe6ccf62da by Kristian Høgsberg on 02/01/2001 at 03:24..
Quit compositor on eject key press.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab909aedac076926ebc5d752c9739cbe6ccf62da

Git commit 57b751b0c32d4c71e050ec2edaca5136fd6b7095 by Kristian Høgsberg on 02/01/2001 at 04:44..
Fix flower client.
https://invent.kde.org/neon/backports-jammy/wayland/commit/57b751b0c32d4c71e050ec2edaca5136fd6b7095

Git commit 5c8c3286ea6fe5590d74c946e765790a1f791f9b by Kristian Høgsberg on 09/02/2009 at 20:17..
Add a per-surface matrix.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5c8c3286ea6fe5590d74c946e765790a1f791f9b

Git commit 03fd86b042f509ed912f3b458775c36e35e3351d by Kristian Høgsberg on 10/02/2009 at 19:15..
Read connection events in screenshot.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/03fd86b042f509ed912f3b458775c36e35e3351d

Git commit 1a208d58cb87fdfc8991f4509c8953f36ebc4e2a by Kristian Høgsberg on 10/02/2009 at 19:20..
Add surface animation framework, implement fullscreen surface switcher.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1a208d58cb87fdfc8991f4509c8953f36ebc4e2a

Git commit 6c9c8f8923926bf0bf270c0ecf21eae8371d4778 by Kristian Høgsberg on 10/02/2009 at 23:29..
Fix surface coordinate transformation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6c9c8f8923926bf0bf270c0ecf21eae8371d4778

Git commit 1febe0108461a067bc4839ad74c8415644e785b6 by Kristian Høgsberg on 10/02/2009 at 23:30..
Don't crash when there's no primary surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1febe0108461a067bc4839ad74c8415644e785b6

Git commit bb8cd938b51a60e3ff1eb1f85b5dc7401a0286de by Kristian Høgsberg on 11/02/2009 at 00:48..
Re-init link when removing animation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bb8cd938b51a60e3ff1eb1f85b5dc7401a0286de

Git commit 7b6907f67866f993bac51516ce4352a868c7256c by Kristian Høgsberg on 16/02/2009 at 03:33..
Don't forget to transform coordinates for the grab surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7b6907f67866f993bac51516ce4352a868c7256c

Git commit 41a106815bdfe8e852c0291c501017cfb0baa688 by Kristian Høgsberg on 16/02/2009 at 03:37..
Track drm modesetting api changes (grr).
https://invent.kde.org/neon/backports-jammy/wayland/commit/41a106815bdfe8e852c0291c501017cfb0baa688

Git commit 1eff73c75885c4ef7067e16db73df74f1404e7c7 by Kristian Høgsberg on 16/02/2009 at 05:26..
Use chooser instead of hardcoded fbconfig in gears.c.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1eff73c75885c4ef7067e16db73df74f1404e7c7

Git commit 5544491240c604be04e688aa2c8490507f00f5f7 by Kristian Høgsberg on 21/02/2009 at 19:31..
Move keymap to window.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/5544491240c604be04e688aa2c8490507f00f5f7

Git commit 0de19eb6888ce3f7d87a8478216f05385be4e99d by Kristian Høgsberg (on behalf of Chris Wilson) on 21/02/2009 at 20:48..
Add an image viewer client
https://invent.kde.org/neon/backports-jammy/wayland/commit/0de19eb6888ce3f7d87a8478216f05385be4e99d

Git commit b0b82e2eeb8d844dcb0677a96d55903012be314f by Kristian Høgsberg on 21/02/2009 at 20:48..
Draw terminal cursor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b0b82e2eeb8d844dcb0677a96d55903012be314f

Git commit 0555d8e6fc95f87a3c6b3d2e6aec65d93af5f270 by Kristian Høgsberg on 23/02/2009 at 00:19..
Rename pointer_surface to sprite in wlsc_surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0555d8e6fc95f87a3c6b3d2e6aec65d93af5f270

Git commit 4a35fc2563264601967de14990f1c0b3264acfe3 by Kristian Høgsberg on 23/02/2009 at 01:57..
Handle marshalling NULL objects.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4a35fc2563264601967de14990f1c0b3264acfe3

Git commit 2c837483ec8f509105e3afa49ab0f6fcaeb183b0 by Kristian Høgsberg on 23/02/2009 at 01:58..
Add new surfaces to client hash table.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2c837483ec8f509105e3afa49ab0f6fcaeb183b0

Git commit ce5a9c10960e2a4abc8da3b5514c6587d58bae82 by Kristian Høgsberg on 23/02/2009 at 01:59..
Remove spurious unused local variable.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ce5a9c10960e2a4abc8da3b5514c6587d58bae82

Git commit db6c2f3f0e355f856baa59423fa84e05269b6125 by Kristian Høgsberg on 23/02/2009 at 02:51..
Add keyboard and pointer focus events.
https://invent.kde.org/neon/backports-jammy/wayland/commit/db6c2f3f0e355f856baa59423fa84e05269b6125

Git commit 0208ed4c79ed9aa1a983d372248f781c27969082 by Kristian Høgsberg on 23/02/2009 at 03:30..
Don't close the pty master in forkpty child.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0208ed4c79ed9aa1a983d372248f781c27969082

Git commit 3c248cc9b68d8f2850178d6b3a9560ba0669283a by Kristian Høgsberg on 23/02/2009 at 04:01..
Paint terminal cursor hollow when focus is lost.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3c248cc9b68d8f2850178d6b3a9560ba0669283a

Git commit 7e3e860031282d439e4f2da5477a6c96392ea09d by Kristian Høgsberg on 24/02/2009 at 02:06..
terminal: trim unused headers.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7e3e860031282d439e4f2da5477a6c96392ea09d

Git commit 3c38fa0c3e55893911f85edeb0a0eaa4460e59ca by Kristian Høgsberg on 24/02/2009 at 03:30..
Include the currently pressed keys in keyboard focus event.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3c38fa0c3e55893911f85edeb0a0eaa4460e59ca

Git commit 99f090db3eb6e33d4ec52e451113abc6b14ed267 by Kristian Høgsberg on 24/02/2009 at 03:37..
Update modifier state on focus in and out.
https://invent.kde.org/neon/backports-jammy/wayland/commit/99f090db3eb6e33d4ec52e451113abc6b14ed267

Git commit 0acc6c426c278208202116855de3aef78c5027a0 by Kristian Høgsberg on 05/03/2009 at 12:49..
Renable blurred dropshadows and fix call to blur_surface().
https://invent.kde.org/neon/backports-jammy/wayland/commit/0acc6c426c278208202116855de3aef78c5027a0

Git commit da1f30a8f0dc9ffa98aa83f8ab489834c4844568 by Kristian Høgsberg on 07/03/2009 at 02:24..
Allocate GL front buffer through eagle instead of cairo.
https://invent.kde.org/neon/backports-jammy/wayland/commit/da1f30a8f0dc9ffa98aa83f8ab489834c4844568

Git commit 786ca0d572bc38e32f5b79cf4971752babd0b245 by Kristian Høgsberg on 07/03/2009 at 02:27..
Send key array when losing focus too.

The compositor tracks this anyway, and the client will typically need
this to post key release events and adjust modifier status.
https://invent.kde.org/neon/backports-jammy/wayland/commit/786ca0d572bc38e32f5b79cf4971752babd0b245

Git commit 4fa4873928f2903dc4aeebf63236aa151b504c03 by Kristian Høgsberg on 11/03/2009 at 03:43..
Dont crash when surfaces and clients disappear

Set up a notification system, so we get a callback when a client and its
surfaces disappear and can drop references the lost surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4fa4873928f2903dc4aeebf63236aa151b504c03

Git commit 820a87742852b52004f06626bb4f683aebcd7dca by Kristian Høgsberg on 11/03/2009 at 03:43..
Trim include list.
https://invent.kde.org/neon/backports-jammy/wayland/commit/820a87742852b52004f06626bb4f683aebcd7dca

Git commit b22382bfdc9d055196ea29fce0e90838f0ae0832 by Kristian Høgsberg on 11/03/2009 at 03:54..
Create front buffer with eagle.

This removes the intel dependencies from the system compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b22382bfdc9d055196ea29fce0e90838f0ae0832

Git commit 8da19acab777ddc4a5603e14d4f5025d302bac91 by Kristian Høgsberg on 17/03/2009 at 20:12..
Factor out session switching stuff to struct wlsc_session.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8da19acab777ddc4a5603e14d4f5025d302bac91

Git commit 01f941bfda97fba7ebbf7fabbe610f2e3d1feadd by Kristian Høgsberg on 27/05/2009 at 21:47..
Update to use new eagle API and drm page flipping
https://invent.kde.org/neon/backports-jammy/wayland/commit/01f941bfda97fba7ebbf7fabbe610f2e3d1feadd

Git commit cda0e0db98d19c3e95621a61c9a7f78091bb7e1a by Kristian Høgsberg on 28/05/2009 at 00:07..
Update gears example to latest eagle API changes
https://invent.kde.org/neon/backports-jammy/wayland/commit/cda0e0db98d19c3e95621a61c9a7f78091bb7e1a

Git commit 2644910241b79301add45d7b66ca38dda6b95597 by Kristian Høgsberg on 29/05/2009 at 00:23..
Update to track the cairo_drm_device_t rename
https://invent.kde.org/neon/backports-jammy/wayland/commit/2644910241b79301add45d7b66ca38dda6b95597

Git commit 45b7a3a64578a56c1e119893d9e77f74946bcea6 by Kristian Høgsberg on 14/08/2009 at 09:53..
Terminate on Super-Backspace.

It's almost like Ctrl-Alt-Backspace!
https://invent.kde.org/neon/backports-jammy/wayland/commit/45b7a3a64578a56c1e119893d9e77f74946bcea6

Git commit b0a167cdc98b94951ba82e2b6649fc74b69d35cb by Kristian Høgsberg on 14/08/2009 at 15:15..
Always repaint out of vsync callback.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b0a167cdc98b94951ba82e2b6649fc74b69d35cb

Git commit 5fc96ff6e2e23bc6fab267392ead0594ccf88044 by Kristian Høgsberg on 12/09/2009 at 19:58..
Dont use an image surface for the tmp

It may have a incompatible stride and there's no point
in using a cairo surface for this.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5fc96ff6e2e23bc6fab267392ead0594ccf88044

Git commit 4adaf5c6bc3e366739d03b01b809ac8fa1dc431d by Kristian Høgsberg on 12/09/2009 at 20:42..
Fix surface copy by using FBOs
https://invent.kde.org/neon/backports-jammy/wayland/commit/4adaf5c6bc3e366739d03b01b809ac8fa1dc431d

Git commit 5d312db56ea7c6d03c9ae4ae6782cabba1f1c568 by Kristian Høgsberg on 12/09/2009 at 20:57..
Tweak repaint timeout to 5ms after vblank

Reduces risk of flicker, but we need something better here.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5d312db56ea7c6d03c9ae4ae6782cabba1f1c568

Git commit 75b70cef556263e39e8061a93f259508f966cf8e by Kristian Høgsberg on 13/09/2009 at 01:08..
Fix gears rotation for high timestamp values
https://invent.kde.org/neon/backports-jammy/wayland/commit/75b70cef556263e39e8061a93f259508f966cf8e

Git commit 9db4efaefad45b161595a97ad5b862ba2ba40f7c by Kristian Høgsberg on 13/09/2009 at 01:09..
Drop sessions for now
https://invent.kde.org/neon/backports-jammy/wayland/commit/9db4efaefad45b161595a97ad5b862ba2ba40f7c

Git commit 59fa346ac9a5a3244af1aae0d13bd3d56f84c4b8 by Kristian Høgsberg on 18/09/2009 at 21:05..
Export list implementation
https://invent.kde.org/neon/backports-jammy/wayland/commit/59fa346ac9a5a3244af1aae0d13bd3d56f84c4b8

Git commit ecf65fe0411403d57d6d2418782bd741b6d9e034 by Kristian Høgsberg on 18/09/2009 at 21:05..
Implement user_data for surface

Not sure if we need more than one piece of user_data per surface.
And this should be a general feature of any proxy object.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ecf65fe0411403d57d6d2418782bd741b6d9e034

Git commit f15ce9f40057495fbe6a21107020358e57aaa430 by Kristian Høgsberg on 18/09/2009 at 21:05..
Add a hash remove implementation
https://invent.kde.org/neon/backports-jammy/wayland/commit/f15ce9f40057495fbe6a21107020358e57aaa430

Git commit b559fcbf7204179e4273433d34f4b560f9891c8a by Kristian Høgsberg on 18/09/2009 at 21:05..
Add function to remove surfaces from client
https://invent.kde.org/neon/backports-jammy/wayland/commit/b559fcbf7204179e4273433d34f4b560f9891c8a

Git commit f5878facf387a95b5f4d1063491c7a308f40024e by Kristian Høgsberg on 18/09/2009 at 21:05..
Support running on a specified KMS connector
https://invent.kde.org/neon/backports-jammy/wayland/commit/f5878facf387a95b5f4d1063491c7a308f40024e

Git commit ffbc607123b73f715f1b75decfb2b494cf8516f3 by Kristian Høgsberg on 18/09/2009 at 21:05..
Only raise surface on click, not release
https://invent.kde.org/neon/backports-jammy/wayland/commit/ffbc607123b73f715f1b75decfb2b494cf8516f3

Git commit dd73dd5c81673b2da0095a2c8edce964a3453861 by Kristian Høgsberg on 18/09/2009 at 21:05..
Select the right fb on enter_vt
https://invent.kde.org/neon/backports-jammy/wayland/commit/dd73dd5c81673b2da0095a2c8edce964a3453861

Git commit 3f8f39c01934493eaf98c3e24954c82e98dccf65 by Kristian Høgsberg on 18/09/2009 at 21:05..
Remove surfaces when destroyed, refocus pointer
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f8f39c01934493eaf98c3e24954c82e98dccf65

Git commit 2cbedd1874f1cc2edc1218f8fdf1c6e44c681862 by Kristian Høgsberg on 18/09/2009 at 21:29..
Terminate on Ctrl-Alt-Backspace

So that 10 years from now we can have a huge flamewar about it.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2cbedd1874f1cc2edc1218f8fdf1c6e44c681862

Git commit 7d7b5dbf4d0b9e09b9ebcc9747f0cb5e77e813f1 by Kristian Høgsberg on 21/09/2009 at 17:43..
Tweak theme a bit
https://invent.kde.org/neon/backports-jammy/wayland/commit/7d7b5dbf4d0b9e09b9ebcc9747f0cb5e77e813f1

Git commit 8f2f7738466c6ad499060631af03844164c69aee by Kristian Høgsberg on 21/09/2009 at 17:47..
Add a simple PDF viewer
https://invent.kde.org/neon/backports-jammy/wayland/commit/8f2f7738466c6ad499060631af03844164c69aee

Git commit 9ae561d5bd081598ff120c490cc31d7a29d84a09 by Kristian Høgsberg on 21/09/2009 at 17:47..
Make gears track focus
https://invent.kde.org/neon/backports-jammy/wayland/commit/9ae561d5bd081598ff120c490cc31d7a29d84a09

Git commit e000d8cd23a63b6d42b4055179da68b67764c963 by Kristian Høgsberg on 21/09/2009 at 19:10..
Make connector option actually work
https://invent.kde.org/neon/backports-jammy/wayland/commit/e000d8cd23a63b6d42b4055179da68b67764c963

Git commit 1b8b66f9387fe08dd5d0f38398f72f0d5fab2776 by Kristian Høgsberg on 21/09/2009 at 20:00..
Light up multiple outputs when possible

Multihead is still a little confused, but this is a first step.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1b8b66f9387fe08dd5d0f38398f72f0d5fab2776

Git commit 12308a49973c54e1524cdbfe4e297759faa3bd74 by Kristian Høgsberg on 28/09/2009 at 17:08..
Add color scheme support
https://invent.kde.org/neon/backports-jammy/wayland/commit/12308a49973c54e1524cdbfe4e297759faa3bd74

Git commit beed22b9a39a3f0cb793b986a01f63d4b8695590 by Kristian Høgsberg on 01/10/2009 at 03:14..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/beed22b9a39a3f0cb793b986a01f63d4b8695590

Git commit d2311cfba73ea92f91de1e709359ac85d564e9c7 by Kristian Høgsberg on 01/10/2009 at 20:43..
Set an drop drm master on enter and leave vt

This way we can vt switch between wayland and X.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d2311cfba73ea92f91de1e709359ac85d564e9c7

Git commit e4bf8844f63207fdc1599330443833be20849bc4 by Kristian Høgsberg on 16/12/2009 at 18:18..
Use new page flip API
https://invent.kde.org/neon/backports-jammy/wayland/commit/e4bf8844f63207fdc1599330443833be20849bc4

Git commit 6a1b20102c6f1b57f3b8e830dba3abc431f656a4 by Kristian Høgsberg on 16/12/2009 at 19:43..
window: factor out surface attachment code
https://invent.kde.org/neon/backports-jammy/wayland/commit/6a1b20102c6f1b57f3b8e830dba3abc431f656a4

Git commit 2aac302bd9c2f7bc5dc751746dc09465ca8ba867 by Kristian Høgsberg on 21/12/2009 at 15:04..
Stop using surface::copy in window
https://invent.kde.org/neon/backports-jammy/wayland/commit/2aac302bd9c2f7bc5dc751746dc09465ca8ba867

Git commit 450cc8136d5c3c84407b3c621006a1fa6b092085 by Kristian Høgsberg on 21/12/2009 at 15:36..
Require libdrm 2.4.17 for page flip API
https://invent.kde.org/neon/backports-jammy/wayland/commit/450cc8136d5c3c84407b3c621006a1fa6b092085

Git commit a341fa016c54948af4fc76cde864f460f962f9db by Kristian Høgsberg on 24/01/2010 at 23:10..
Use FBOs instead of eagle-specific API
https://invent.kde.org/neon/backports-jammy/wayland/commit/a341fa016c54948af4fc76cde864f460f962f9db

Git commit d923e9d93b95e1c902dade030ae5af2e80242878 by Kristian Høgsberg (on behalf of Janusz Lewandowski) on 04/02/2010 at 12:51..
Replace cairo_drm_device_t with cairo_device_t
https://invent.kde.org/neon/backports-jammy/wayland/commit/d923e9d93b95e1c902dade030ae5af2e80242878

Git commit a5db589efaedebf2b01a61baa2efc917a7e45d68 by Kristian Høgsberg on 26/02/2010 at 15:28..
Add wl_list_for_each() and simplify some loops
https://invent.kde.org/neon/backports-jammy/wayland/commit/a5db589efaedebf2b01a61baa2efc917a7e45d68

Git commit f52e03ff473a504a9a12a98b68b9b923de664fe2 by Kristian Høgsberg on 26/02/2010 at 16:42..
Import Eric Anholts hash table implementation

Adapted from git://people.freedesktop.org/~anholt/hash_table.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f52e03ff473a504a9a12a98b68b9b923de664fe2

Git commit 3afd45d49c8103878c2c1bcc689c0f1f22db45c9 by Kristian Høgsberg on 03/03/2010 at 15:34..
Switch to using mesa EGL
https://invent.kde.org/neon/backports-jammy/wayland/commit/3afd45d49c8103878c2c1bcc689c0f1f22db45c9

Git commit fa548856007d0326632cc4baab66b705a38249ed by Kristian Høgsberg on 08/03/2010 at 22:16..
Fix a couple of typos in rotation matrix
https://invent.kde.org/neon/backports-jammy/wayland/commit/fa548856007d0326632cc4baab66b705a38249ed

Git commit c9e208899b84895072ba171f9e6013ac28a06747 by Kristian Høgsberg (on behalf of nobled) on 30/03/2010 at 15:25..
Fix passing the height in resize_window

Otherwise the attr_list's height value is left at 0.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c9e208899b84895072ba171f9e6013ac28a06747

Git commit b2a432ef18f400dd40d5f7904e56a42b97dab780 by Kristian Høgsberg on 05/06/2010 at 01:46..
Move clients to subdirectory
https://invent.kde.org/neon/backports-jammy/wayland/commit/b2a432ef18f400dd40d5f7904e56a42b97dab780

Git commit 8286302644614ca8fd8bdcfce71de0dfa26649be by Kristian Høgsberg on 05/06/2010 at 01:52..
Rename wayland-system-compositor back to just compositor
https://invent.kde.org/neon/backports-jammy/wayland/commit/8286302644614ca8fd8bdcfce71de0dfa26649be

Git commit a2ee67586114159b558fa2655e0746192db06579 by Kristian Høgsberg on 05/06/2010 at 02:14..
Make compositor compile and port it to new mesa extensions
https://invent.kde.org/neon/backports-jammy/wayland/commit/a2ee67586114159b558fa2655e0746192db06579

Git commit f0d65bb50a1551e02d2f702260691b7542529139 by Kristian Høgsberg on 05/06/2010 at 02:23..
Update udev rules to work with new udev
https://invent.kde.org/neon/backports-jammy/wayland/commit/f0d65bb50a1551e02d2f702260691b7542529139

Git commit f88ae45e41e591a47ed5729d0c4d3617a8dd5c8e by Kristian Høgsberg on 07/06/2010 at 02:28..
Make clients at least compile for now
https://invent.kde.org/neon/backports-jammy/wayland/commit/f88ae45e41e591a47ed5729d0c4d3617a8dd5c8e

Git commit 27803c6859d152affc9dfcc59814a353cb6f5860 by Kristian Høgsberg on 07/06/2010 at 02:28..
Port compositor to GLES2
https://invent.kde.org/neon/backports-jammy/wayland/commit/27803c6859d152affc9dfcc59814a353cb6f5860

Git commit 6a9bbd0db24df10c95e277d88be1b4e7b5d03ce0 by Kristian Høgsberg on 07/06/2010 at 02:43..
Quit if set or drop master fails
https://invent.kde.org/neon/backports-jammy/wayland/commit/6a9bbd0db24df10c95e277d88be1b4e7b5d03ce0

Git commit 1292383025d2e5b9c0f54046c94f7ec1bbed2493 by Kristian Høgsberg on 07/06/2010 at 02:44..
Use eglCreateImageKHR() the right way
https://invent.kde.org/neon/backports-jammy/wayland/commit/1292383025d2e5b9c0f54046c94f7ec1bbed2493

Git commit a7f258221a7dcc9dc7034203e20d9a50bfa8c621 by Kristian Høgsberg on 07/06/2010 at 16:22..
Add spec document in progress
https://invent.kde.org/neon/backports-jammy/wayland/commit/a7f258221a7dcc9dc7034203e20d9a50bfa8c621

Git commit 6619d383112809e142e4c66f04bcb8624ee0b7a2 by Kristian Høgsberg on 07/06/2010 at 16:23..
Use correct token for drm image format
https://invent.kde.org/neon/backports-jammy/wayland/commit/6619d383112809e142e4c66f04bcb8624ee0b7a2

Git commit 2cdc18452eced84dca24bef8b61bac8bbf7c9032 by Kristian Høgsberg on 08/06/2010 at 14:44..
Fix matrix setup in surface_map()
https://invent.kde.org/neon/backports-jammy/wayland/commit/2cdc18452eced84dca24bef8b61bac8bbf7c9032

Git commit a85fe3cf45421b513fa95d5b5b18e7f3fd886348 by Kristian Høgsberg on 08/06/2010 at 18:08..
Use cairo-gl in clients
https://invent.kde.org/neon/backports-jammy/wayland/commit/a85fe3cf45421b513fa95d5b5b18e7f3fd886348

Git commit 7824d81e0745b3f031e7db41f85ace1a8352cc5f by Kristian Høgsberg on 08/06/2010 at 18:59..
Consolidate more code in clients/window.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/7824d81e0745b3f031e7db41f85ace1a8352cc5f

Git commit 0b8646bbd3d824239ef6e4ad05c98137e9c47b1c by Kristian Høgsberg on 08/06/2010 at 19:29..
Fix surface picking
https://invent.kde.org/neon/backports-jammy/wayland/commit/0b8646bbd3d824239ef6e4ad05c98137e9c47b1c

Git commit 38bb71638388ff321cb7bdaa950880aa1cde87a5 by Kristian Høgsberg on 08/06/2010 at 19:33..
Drop surface::copy
https://invent.kde.org/neon/backports-jammy/wayland/commit/38bb71638388ff321cb7bdaa950880aa1cde87a5

Git commit 0b77e0914b9e404a00a4b9aa65d318f6dfc3db79 by Kristian Høgsberg on 08/06/2010 at 19:41..
Update todo
https://invent.kde.org/neon/backports-jammy/wayland/commit/0b77e0914b9e404a00a4b9aa65d318f6dfc3db79

Git commit 945ea0e743a80cc9d47e71bff6f733500e857f36 by Kristian Høgsberg on 08/06/2010 at 20:00..
configure.ac: Look for cairo-gl instead of cairo-drm
https://invent.kde.org/neon/backports-jammy/wayland/commit/945ea0e743a80cc9d47e71bff6f733500e857f36

Git commit 478d9265f9a01b2dd1ed92d640081d3dd82f1c87 by Kristian Høgsberg on 09/06/2010 at 00:34..
Send device name at connect time
https://invent.kde.org/neon/backports-jammy/wayland/commit/478d9265f9a01b2dd1ed92d640081d3dd82f1c87

Git commit 39f5db73e253ffa6288be50b2ea5778b0464eed3 by Kristian Høgsberg on 10/06/2010 at 17:05..
Add drag and drop section to spec
https://invent.kde.org/neon/backports-jammy/wayland/commit/39f5db73e253ffa6288be50b2ea5778b0464eed3

Git commit 26e6666fabbab81d61ee7209c2e676d35c120741 by Kristian Høgsberg on 10/06/2010 at 17:43..
Add section about setting cursor images to spec
https://invent.kde.org/neon/backports-jammy/wayland/commit/26e6666fabbab81d61ee7209c2e676d35c120741

Git commit da6c6b1a382e4b8da5ad83499bd14d5a60a7ca98 by Kristian Høgsberg on 10/06/2010 at 17:48..
Add extern "C" wrappers to public header files
https://invent.kde.org/neon/backports-jammy/wayland/commit/da6c6b1a382e4b8da5ad83499bd14d5a60a7ca98

Git commit 54c324e1bd7cf4a3b2a5d20ded1e30dbb019b723 by Kristian Høgsberg on 10/06/2010 at 17:53..
Drop stuff from notes that are in the spec now
https://invent.kde.org/neon/backports-jammy/wayland/commit/54c324e1bd7cf4a3b2a5d20ded1e30dbb019b723

Git commit 44be655b6de79957b1441b1d6f72905068560380 by Kristian Høgsberg on 11/06/2010 at 15:25..
Add discussion/notes on object cache to spec
https://invent.kde.org/neon/backports-jammy/wayland/commit/44be655b6de79957b1441b1d6f72905068560380

Git commit fc783d4071b71ce42368ec10ad010a9756910b54 by Kristian Høgsberg on 11/06/2010 at 16:56..
Split native drm part of compositor out
https://invent.kde.org/neon/backports-jammy/wayland/commit/fc783d4071b71ce42368ec10ad010a9756910b54

Git commit ce5325d3edf85d17254241ae7d3299ea4979900f by Kristian Høgsberg on 14/06/2010 at 15:54..
Add x11 backend for compositor

This still needs all the bells and whistles from the egl-kms mesa branch,
but it makes it a lot easier to work on wayland.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ce5325d3edf85d17254241ae7d3299ea4979900f

Git commit f9112b2de043209378a20203be883d85863400b6 by Kristian Høgsberg on 14/06/2010 at 16:53..
Fix X button and keycodes

Not a real fix, we're just mapping them to evdev codes for now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f9112b2de043209378a20203be883d85863400b6

Git commit bf6ceda545f92728a96f3ce8918b2658c84311a4 by Kristian Høgsberg on 15/06/2010 at 00:25..
Implement resizing from all sides
https://invent.kde.org/neon/backports-jammy/wayland/commit/bf6ceda545f92728a96f3ce8918b2658c84311a4

Git commit a946821b4fa9e6ebf380aa3f2ca76ca5e48bd27a by Kristian Høgsberg on 15/06/2010 at 01:03..
Propagate shader compile/link errors

And silence the no-error case.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a946821b4fa9e6ebf380aa3f2ca76ca5e48bd27a

Git commit 0953162db87f0a060376f17e7f5a9dcadee9bca3 by Kristian Høgsberg on 15/06/2010 at 03:22..
Fix resizing
https://invent.kde.org/neon/backports-jammy/wayland/commit/0953162db87f0a060376f17e7f5a9dcadee9bca3

Git commit 80d746f6e3113dcaa3c0a5d05795022bd40c924d by Kristian Høgsberg on 15/06/2010 at 03:52..
Consolidate redraw scheduling in window.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/80d746f6e3113dcaa3c0a5d05795022bd40c924d

Git commit 49e868cb05c428c1b9b76779b8cb50b2a918ba05 by Kristian Høgsberg on 15/06/2010 at 20:18..
Fix a few bugs in blur implementation
https://invent.kde.org/neon/backports-jammy/wayland/commit/49e868cb05c428c1b9b76779b8cb50b2a918ba05

Git commit dcb71b62a0c78ef6f5eadd9b80f5f69848ec0739 by Kristian Høgsberg on 15/06/2010 at 21:16..
Update decoration drawing to be less cairo path happy
https://invent.kde.org/neon/backports-jammy/wayland/commit/dcb71b62a0c78ef6f5eadd9b80f5f69848ec0739

Git commit c8c3734ef9dac948d1a440e76aba17de8cd5262d by Kristian Høgsberg on 25/06/2010 at 15:19..
Set window user data using separate function
https://invent.kde.org/neon/backports-jammy/wayland/commit/c8c3734ef9dac948d1a440e76aba17de8cd5262d

Git commit 94adf6cb9e14b91cd98db0174f6a1fbe375b1184 by Kristian Høgsberg on 25/06/2010 at 20:50..
Use libxkbcommon for mapping keycodes to keysyms
https://invent.kde.org/neon/backports-jammy/wayland/commit/94adf6cb9e14b91cd98db0174f6a1fbe375b1184

Git commit 2d6b7c118b2af194a370fd1bf5c264499f1e37cc by Kristian Høgsberg on 25/06/2010 at 20:51..
Fix some warnings
https://invent.kde.org/neon/backports-jammy/wayland/commit/2d6b7c118b2af194a370fd1bf5c264499f1e37cc

Git commit 67a21bdf56765c15316077ab36a3a280828e606e by Kristian Høgsberg on 25/06/2010 at 22:58..
Fix indentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/67a21bdf56765c15316077ab36a3a280828e606e

Git commit 3e6e7e6acb90563486f51d13ee8d44d7f02f0974 by Kristian Høgsberg on 02/07/2010 at 19:12..
Track libxkbcommon API changes
https://invent.kde.org/neon/backports-jammy/wayland/commit/3e6e7e6acb90563486f51d13ee8d44d7f02f0974

Git commit 554a131b291a33cd44d2137932f641085d49c994 by Kristian Høgsberg on 07/07/2010 at 13:37..
Update TODO list
https://invent.kde.org/neon/backports-jammy/wayland/commit/554a131b291a33cd44d2137932f641085d49c994

Git commit 86e09896730314864a6fbd779e27901c5d00ea1a by Kristian Høgsberg on 07/07/2010 at 13:51..
Hide wayland cursor when X11 compositor loses focus
https://invent.kde.org/neon/backports-jammy/wayland/commit/86e09896730314864a6fbd779e27901c5d00ea1a

Git commit f252d6a98e75236a4059fb8ff6579ddad2e0e8aa by Kristian Høgsberg on 09/07/2010 at 00:15..
Update to use eglGetDRMDisplayMESA()
https://invent.kde.org/neon/backports-jammy/wayland/commit/f252d6a98e75236a4059fb8ff6579ddad2e0e8aa

Git commit 747638b46be785d2e00d00cae1030518193858a7 by Kristian Høgsberg on 12/07/2010 at 21:06..
Fix window picking order
https://invent.kde.org/neon/backports-jammy/wayland/commit/747638b46be785d2e00d00cae1030518193858a7

Git commit 808fd4186109960f687507fb326f43b3dae75078 by Kristian Høgsberg on 20/07/2010 at 21:06..
Drop coordinates from buttons press, add timestamp to events
https://invent.kde.org/neon/backports-jammy/wayland/commit/808fd4186109960f687507fb326f43b3dae75078

Git commit e0f5cc25740aa39b203eb6fbfc44b73f1012e290 by Kristian Høgsberg on 29/07/2010 at 02:52..
Minor spec edits
https://invent.kde.org/neon/backports-jammy/wayland/commit/e0f5cc25740aa39b203eb6fbfc44b73f1012e290

Git commit 379b678c574eb3b0f5e995e0049e1e0c0235a638 by Kristian Høgsberg on 29/07/2010 at 03:51..
Use EGL_KHR_surfaceless_opengl
https://invent.kde.org/neon/backports-jammy/wayland/commit/379b678c574eb3b0f5e995e0049e1e0c0235a638

Git commit c098d8da474df9d6ce396ec4068371a022248b16 by Kristian Høgsberg on 29/07/2010 at 03:51..
Print more info when demarshal fails
https://invent.kde.org/neon/backports-jammy/wayland/commit/c098d8da474df9d6ce396ec4068371a022248b16

Git commit 2c28aa59816819d2ff28a517e5f5781551a0d624 by Kristian Høgsberg on 29/07/2010 at 03:51..
Bind GLES2 API, not OpenGL
https://invent.kde.org/neon/backports-jammy/wayland/commit/2c28aa59816819d2ff28a517e5f5781551a0d624

Git commit 43788b13df4d00ab5b030116e414a1dafa79d50f by Kristian Høgsberg on 29/07/2010 at 03:51..
Update keyboard focus handler signatures
https://invent.kde.org/neon/backports-jammy/wayland/commit/43788b13df4d00ab5b030116e414a1dafa79d50f

Git commit eba6f0d32bed67f20d575c8c61646192b20c5a67 by Kristian Høgsberg on 29/07/2010 at 04:02..
Delete a few duplicate TODO items
https://invent.kde.org/neon/backports-jammy/wayland/commit/eba6f0d32bed67f20d575c8c61646192b20c5a67

Git commit 8f2e67725efba16abe1558b6e3775b02545f110e by Kristian Høgsberg on 29/07/2010 at 18:48..
x11: Dont use buffers after free()
https://invent.kde.org/neon/backports-jammy/wayland/commit/8f2e67725efba16abe1558b6e3775b02545f110e

Git commit fbd0fb0098f0f57f39eab7ecd71d6fb95ab141f1 by Kristian Høgsberg on 29/07/2010 at 19:01..
memset epoll event structs to quiet valgrind
https://invent.kde.org/neon/backports-jammy/wayland/commit/fbd0fb0098f0f57f39eab7ecd71d6fb95ab141f1

Git commit b56cb000459ac79643b7d09ac0c6ad1cda63d0eb by Kristian Høgsberg on 29/07/2010 at 19:43..
Use "" when including our own header files
https://invent.kde.org/neon/backports-jammy/wayland/commit/b56cb000459ac79643b7d09ac0c6ad1cda63d0eb

Git commit 723b2852d22851d0cf1dfe737f0fc375cc692f12 by Kristian Høgsberg on 30/07/2010 at 14:58..
Generate makefile dependencies with gcc
https://invent.kde.org/neon/backports-jammy/wayland/commit/723b2852d22851d0cf1dfe737f0fc375cc692f12

Git commit c37c57aec7128be829fa80640d7236ca0a4b56fc by Kristian Høgsberg on 02/08/2010 at 16:45..
TODO: Add a few lines about removing commit request
https://invent.kde.org/neon/backports-jammy/wayland/commit/c37c57aec7128be829fa80640d7236ca0a4b56fc

Git commit a1f3f60bea874d758694c827ff27fa05ff0a2910 by Kristian Høgsberg on 03/08/2010 at 13:44..
Generate protocol types and metadata from xml
https://invent.kde.org/neon/backports-jammy/wayland/commit/a1f3f60bea874d758694c827ff27fa05ff0a2910

Git commit 83fc061c9cbe776de54fd335893f524793e4e92b by Kristian Høgsberg on 05/08/2010 at 02:44..
Introduce 'shell' object for moving and resizing surfaces in the compositor
https://invent.kde.org/neon/backports-jammy/wayland/commit/83fc061c9cbe776de54fd335893f524793e4e92b

Git commit 5b75f1b218db312df0140b9f89d7c04649f554ce by Kristian Høgsberg on 05/08/2010 at 03:21..
Implement server side move override
https://invent.kde.org/neon/backports-jammy/wayland/commit/5b75f1b218db312df0140b9f89d7c04649f554ce

Git commit c071f4d00802ec417828b80cdea046b703cd8915 by Kristian Høgsberg on 05/08/2010 at 21:44..
Handle failure to reference a buffer name better
https://invent.kde.org/neon/backports-jammy/wayland/commit/c071f4d00802ec417828b80cdea046b703cd8915

Git commit 6d70202f8052eec7c64730e8a788341eca4a08cb by Kristian Høgsberg on 06/08/2010 at 19:12..
Send out coordinates with pointer_focus event

We can't rely on motion events happening right away, pointer_focus could
change because of windows coming or going etc.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6d70202f8052eec7c64730e8a788341eca4a08cb

Git commit 5b0079aed5555ef82f86c95516e90a9a8f018324 by Kristian Høgsberg on 09/08/2010 at 18:34..
Demarshal robustness fixes
https://invent.kde.org/neon/backports-jammy/wayland/commit/5b0079aed5555ef82f86c95516e90a9a8f018324

Git commit 5fcd0aa58e243caf24f4deb080ac76e83d52213f by Kristian Høgsberg on 09/08/2010 at 18:43..
Introduce 'buffer' object for attaching, image cahce and cursor images

The buffer object is created by a 'drm' object, which encapsulates the
buffer sharing and authentication mechanism.  Once the buffer is created
it can be attached to a surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5fcd0aa58e243caf24f4deb080ac76e83d52213f

Git commit 3862e43779d464fb5bd321e849185adcca9a3a6a by Kristian Høgsberg on 10/08/2010 at 01:25..
Generate client side marshal stubs from protocol spec
https://invent.kde.org/neon/backports-jammy/wayland/commit/3862e43779d464fb5bd321e849185adcca9a3a6a

Git commit 640609acfc92d2602ddeb7ad336395fe77f215aa by Kristian Høgsberg on 10/08/2010 at 02:11..
Implement current drm auth scheme in the drm object
https://invent.kde.org/neon/backports-jammy/wayland/commit/640609acfc92d2602ddeb7ad336395fe77f215aa

Git commit 230ee3736143887cd43e49295460e5ea6c2d0123 by Kristian Høgsberg on 10/08/2010 at 14:07..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/230ee3736143887cd43e49295460e5ea6c2d0123

Git commit ccb75867acd93fa41392b3d77e749e523a9cf15f by Kristian Høgsberg on 10/08/2010 at 14:53..
Generate the wl_*_add_listener() stubs as well
https://invent.kde.org/neon/backports-jammy/wayland/commit/ccb75867acd93fa41392b3d77e749e523a9cf15f

Git commit 4fe1a3ed3a031eea5ebb5f23ab70d5c1f99d298f by Kristian Høgsberg on 10/08/2010 at 18:13..
Don't track globals in the client lib, just send out events

Users of the client library must install an global handler to get access
to globals.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4fe1a3ed3a031eea5ebb5f23ab70d5c1f99d298f

Git commit a661f263b4ff9e3b15267df461bc9197abf19934 by Kristian Høgsberg on 11/08/2010 at 12:56..
Name libraries -client and -server for consistency

Instead of wayland-server and wayland...
https://invent.kde.org/neon/backports-jammy/wayland/commit/a661f263b4ff9e3b15267df461bc9197abf19934

Git commit 117d5130b1c4a70d4d057cfd56ad84530665d9bd by Kristian Høgsberg on 11/08/2010 at 12:59..
Schedule repaint from surface destructor

Not just the surface_destroy protocol entry points.
https://invent.kde.org/neon/backports-jammy/wayland/commit/117d5130b1c4a70d4d057cfd56ad84530665d9bd

Git commit b036ad4a9ac53def327b80203ab3aaebe709744c by Kristian Høgsberg on 13/08/2010 at 14:39..
Drop noisy warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/b036ad4a9ac53def327b80203ab3aaebe709744c

Git commit 77fb1679566566d881f16d2547d8b00857dc55bc by Kristian Høgsberg on 16/08/2010 at 14:38..
Add protocol for setting the pointer image
https://invent.kde.org/neon/backports-jammy/wayland/commit/77fb1679566566d881f16d2547d8b00857dc55bc

Git commit 1db21f1cf5240a12f91cebb1971fcd35a6e60903 by Kristian Høgsberg on 16/08/2010 at 20:08..
Use different cursor images in the compositor
https://invent.kde.org/neon/backports-jammy/wayland/commit/1db21f1cf5240a12f91cebb1971fcd35a6e60903

Git commit b91cd10fcb4d6c4bc3f44820ba3d34fadc453468 by Kristian Høgsberg on 16/08/2010 at 20:23..
Move cairo-util.[ch] to clients/
https://invent.kde.org/neon/backports-jammy/wayland/commit/b91cd10fcb4d6c4bc3f44820ba3d34fadc453468

Git commit 77a4a795596fc43e67fb9d752d565b43c30d580f by Kristian Høgsberg on 16/08/2010 at 20:24..
Fix warnings
https://invent.kde.org/neon/backports-jammy/wayland/commit/77a4a795596fc43e67fb9d752d565b43c30d580f

Git commit 4219a407aee063460b296fbc7e3dfa2e2157edaf by Kristian Høgsberg on 16/08/2010 at 20:43..
Add DMZ cursor theme

Some day we can make this parse X cursor themes
https://invent.kde.org/neon/backports-jammy/wayland/commit/4219a407aee063460b296fbc7e3dfa2e2157edaf

Git commit c9ce03769d0f62e87d1b52caa6e830c3b5319d3c by Kristian Høgsberg on 16/08/2010 at 20:45..
Remove duplicate #define ARRAY_LENGTH
https://invent.kde.org/neon/backports-jammy/wayland/commit/c9ce03769d0f62e87d1b52caa6e830c3b5319d3c

Git commit f4cb20139279f325420d39eb61817b4c2b861a04 by Kristian Høgsberg on 16/08/2010 at 21:46..
Fix a few bugs in compositor cursor handling
https://invent.kde.org/neon/backports-jammy/wayland/commit/f4cb20139279f325420d39eb61817b4c2b861a04

Git commit da275dd09f32216e9659a0d0e69b6aaf43fd490b by Kristian Høgsberg on 16/08/2010 at 21:47..
Add client side pointer image handling
https://invent.kde.org/neon/backports-jammy/wayland/commit/da275dd09f32216e9659a0d0e69b6aaf43fd490b

Git commit 10ddbd220a69c1aeca5f5fcf62620a25f8c21868 by Kristian Høgsberg on 17/08/2010 at 01:08..
Insert unexplainable cairo_device_flush() to fix terminal drawing
https://invent.kde.org/neon/backports-jammy/wayland/commit/10ddbd220a69c1aeca5f5fcf62620a25f8c21868

Git commit 225a1768822761af1caa2a73b703822d7ad2db5e by Kristian Høgsberg on 17/08/2010 at 17:14..
Split GRAB_MOTION and GRAB_MOVE handling
https://invent.kde.org/neon/backports-jammy/wayland/commit/225a1768822761af1caa2a73b703822d7ad2db5e

Git commit ef613fbf830bd5aee50151d43d9b9e77d6eb50f8 by Kristian Høgsberg on 17/08/2010 at 17:50..
Always consume message, even if no proxy was found

Doh.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ef613fbf830bd5aee50151d43d9b9e77d6eb50f8

Git commit 084d41aac1496258861f285074970c5fd711b0f3 by Kristian Høgsberg on 18/08/2010 at 18:51..
Add missing drm.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/084d41aac1496258861f285074970c5fd711b0f3

Git commit eef08fbb1a32d206c32608c95fe8a80db0fbc081 by Kristian Høgsberg on 18/08/2010 at 19:27..
First step towards drag and drop protocol
https://invent.kde.org/neon/backports-jammy/wayland/commit/eef08fbb1a32d206c32608c95fe8a80db0fbc081

Git commit 9a686243b650c77b349b74087f5a555a2ff7824a by Kristian Høgsberg on 18/08/2010 at 19:28..
Add a drag and drop test client
https://invent.kde.org/neon/backports-jammy/wayland/commit/9a686243b650c77b349b74087f5a555a2ff7824a

Git commit b8cc24e1a894d6ec2b74e39700f057743cb1870b by Kristian Høgsberg on 19/08/2010 at 00:31..
Actually add dnd client
https://invent.kde.org/neon/backports-jammy/wayland/commit/b8cc24e1a894d6ec2b74e39700f057743cb1870b

Git commit 041d63e3ee97ab96611ab251866c92d57116de68 by Kristian Høgsberg on 19/08/2010 at 00:45..
Add clean target for data/ so make clean works again
https://invent.kde.org/neon/backports-jammy/wayland/commit/041d63e3ee97ab96611ab251866c92d57116de68

Git commit 506e20eed96e39737a402358e43aa3d5249d49a0 by Kristian Høgsberg on 19/08/2010 at 21:26..
More work on dnd
https://invent.kde.org/neon/backports-jammy/wayland/commit/506e20eed96e39737a402358e43aa3d5249d49a0

Git commit d6a4787ed71136eac2894fd72f7dac7fc4fb6fab by Kristian Høgsberg on 24/08/2010 at 21:34..
TODO editing
https://invent.kde.org/neon/backports-jammy/wayland/commit/d6a4787ed71136eac2894fd72f7dac7fc4fb6fab

Git commit b12fcceeb740094e98deb31dfc330002d7369baf by Kristian Høgsberg on 25/08/2010 at 14:02..
Update to EGL_MESA_drm_image from mesa master

Woo, running on stock mesa now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b12fcceeb740094e98deb31dfc330002d7369baf

Git commit 8a4087164587b48ae34e421b5b3f90b5f6d4650a by Kristian Høgsberg on 25/08/2010 at 17:38..
A few makefile/autoconf fixes
https://invent.kde.org/neon/backports-jammy/wayland/commit/8a4087164587b48ae34e421b5b3f90b5f6d4650a

Git commit 1d7ffd32f8cb769a2713d5f334da17a9e1f7f823 by Kristian Høgsberg on 25/08/2010 at 20:34..
Set pointer image only in response to 'target' event
https://invent.kde.org/neon/backports-jammy/wayland/commit/1d7ffd32f8cb769a2713d5f334da17a9e1f7f823

Git commit b0496261176538f5e788388083d2ecb8248ae0cf by Kristian Høgsberg on 25/08/2010 at 21:11..
Use sendmsg/recvmsg for socket I/O
https://invent.kde.org/neon/backports-jammy/wayland/commit/b0496261176538f5e788388083d2ecb8248ae0cf

Git commit 4363d2aa4d9591528f202e0b5a80ceec46fe7573 by Kristian Høgsberg on 26/08/2010 at 16:13..
Ask for glesv2, not gl for compositor in configure.ac
https://invent.kde.org/neon/backports-jammy/wayland/commit/4363d2aa4d9591528f202e0b5a80ceec46fe7573

Git commit d6f4da7927bc2d7593497e802a5b6b8eb37c3b36 by Kristian Høgsberg on 26/08/2010 at 21:44..
connection: Factor out circular buffer functionality
https://invent.kde.org/neon/backports-jammy/wayland/commit/d6f4da7927bc2d7593497e802a5b6b8eb37c3b36

Git commit aebeee0bbfc0229f3a393b54df8c98a2722b3068 by Kristian Høgsberg on 28/08/2010 at 00:30..
Support marshalling of file descriptors
https://invent.kde.org/neon/backports-jammy/wayland/commit/aebeee0bbfc0229f3a393b54df8c98a2722b3068

Git commit 4eb536091af7983847cef482072f053f1ab9d8b2 by Kristian Høgsberg on 28/08/2010 at 00:30..
Update drag protocol to use fd passing for data transfer
https://invent.kde.org/neon/backports-jammy/wayland/commit/4eb536091af7983847cef482072f053f1ab9d8b2

Git commit 3bbbd15c65c3ebded14f558be93e760c38c52e1b by Kristian Høgsberg on 28/08/2010 at 02:16..
Marshall NULL strings without crashing
https://invent.kde.org/neon/backports-jammy/wayland/commit/3bbbd15c65c3ebded14f558be93e760c38c52e1b

Git commit b571f5db6b086ab712ff3a7abb4d7734ea5dacc0 by Kristian Høgsberg on 28/08/2010 at 02:17..
Handle NULL mime-type in drag::accept request
https://invent.kde.org/neon/backports-jammy/wayland/commit/b571f5db6b086ab712ff3a7abb4d7734ea5dacc0

Git commit e968f9c6b926f5af46417774867c029e5ee6aebf by Kristian Høgsberg on 28/08/2010 at 02:18..
Provide visual feedback as to whether drop is supported

Change the cursor in response to target events.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e968f9c6b926f5af46417774867c029e5ee6aebf

Git commit 30620609b296306f463d1a2533f95f765f81b309 by Kristian Høgsberg on 30/08/2010 at 01:12..
Remove debug message
https://invent.kde.org/neon/backports-jammy/wayland/commit/30620609b296306f463d1a2533f95f765f81b309

Git commit c7c60646adb58bd145486ec7cc7e7a6b42d33244 by Kristian Høgsberg on 30/08/2010 at 01:33..
Add options to specify xkb details
https://invent.kde.org/neon/backports-jammy/wayland/commit/c7c60646adb58bd145486ec7cc7e7a6b42d33244

Git commit 8ca1cc20a1db53f670ed5d53b0b74287c0c8d8ba by Kristian Høgsberg on 30/08/2010 at 12:21..
flower: Clear surface
https://invent.kde.org/neon/backports-jammy/wayland/commit/8ca1cc20a1db53f670ed5d53b0b74287c0c8d8ba

Git commit 45b7789a8b59d86d35ff29acb1b1d48a8e666f6e by Kristian Høgsberg on 30/08/2010 at 13:47..
Return a closure object from wl_connection_demarshal

This way we can invoke it multiple times without having to demarshal
and build the cfi every time.
https://invent.kde.org/neon/backports-jammy/wayland/commit/45b7789a8b59d86d35ff29acb1b1d48a8e666f6e

Git commit 5c63df7f1eafa8badf2290e9c732a1e890d983b5 by Kristian Høgsberg on 01/09/2010 at 21:18..
Fix const warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/5c63df7f1eafa8badf2290e9c732a1e890d983b5

Git commit e9d37bdc5fe7f0244695859d5905af87dd3c82aa by Kristian Høgsberg on 03/09/2010 at 00:22..
Use a transient object for the dnd session
https://invent.kde.org/neon/backports-jammy/wayland/commit/e9d37bdc5fe7f0244695859d5905af87dd3c82aa

Git commit f66d0f4e14818b12d2c02f924237a2e8a90de720 by Kristian Høgsberg on 03/09/2010 at 00:27..
Get rid of wl_client_add_surface() special case
https://invent.kde.org/neon/backports-jammy/wayland/commit/f66d0f4e14818b12d2c02f924237a2e8a90de720

Git commit 13b8ae49867bee41e2d6f73d7afdeba4ecd7570c by Kristian Høgsberg on 03/09/2010 at 00:55..
Add convenience functions for posting display events
https://invent.kde.org/neon/backports-jammy/wayland/commit/13b8ae49867bee41e2d6f73d7afdeba4ecd7570c

Git commit 9d69f8e7963965ec4301364a01d941b3615fa1a1 by Kristian Høgsberg on 03/09/2010 at 18:46..
Replace commit/ack/frame protocol with simpler sync and frame callbacks
https://invent.kde.org/neon/backports-jammy/wayland/commit/9d69f8e7963965ec4301364a01d941b3615fa1a1

Git commit f8ffded1e59d9e723d830b5a445ca386ea31ec21 by Kristian Høgsberg on 03/09/2010 at 19:15..
Drop  wl_display_set_compositor() special case
https://invent.kde.org/neon/backports-jammy/wayland/commit/f8ffded1e59d9e723d830b5a445ca386ea31ec21

Git commit 2feb988c7f23b60474d9d7179836480b30954dd7 by Kristian Høgsberg on 07/09/2010 at 19:58..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/2feb988c7f23b60474d9d7179836480b30954dd7

Git commit b6eb39710de16155256a074db56d308bfa91a16c by Kristian Høgsberg on 07/09/2010 at 19:58..
TODO editing
https://invent.kde.org/neon/backports-jammy/wayland/commit/b6eb39710de16155256a074db56d308bfa91a16c

Git commit f1e7bd384c48a7c7531539ef4dedbe6b384a7609 by Kristian Høgsberg on 07/09/2010 at 19:58..
Add protocol debugging facility
https://invent.kde.org/neon/backports-jammy/wayland/commit/f1e7bd384c48a7c7531539ef4dedbe6b384a7609

Git commit 9f897988fdbe695202addb47044ee72361930143 by Kristian Høgsberg on 07/09/2010 at 19:58..
Move marshal/demarshal buffer into struct wl_closure
https://invent.kde.org/neon/backports-jammy/wayland/commit/9f897988fdbe695202addb47044ee72361930143

Git commit de0fa3bc6423e1cb0c0c66ec02e8cf3facb8e9e5 by Kristian Høgsberg on 07/09/2010 at 19:58..
Send terminating nul character when sending strings
https://invent.kde.org/neon/backports-jammy/wayland/commit/de0fa3bc6423e1cb0c0c66ec02e8cf3facb8e9e5

Git commit 6c7c7a909a7ffa047414a913730f7eee6ac18ad3 by Kristian Høgsberg on 07/09/2010 at 20:01..
Keep strings and arrays in the buffer when demarshalling

Avoids the malloc+copy, and is a step towards using the closure for
marshalling too.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6c7c7a909a7ffa047414a913730f7eee6ac18ad3

Git commit f821f5ad935015ab05ad9f509a950c56103aa83e by Kristian Høgsberg on 07/09/2010 at 21:00..
Demarshal all arguments from protocol buffer
https://invent.kde.org/neon/backports-jammy/wayland/commit/f821f5ad935015ab05ad9f509a950c56103aa83e

Git commit 4f14f6e109a3418dd4416feb8e6d10156d36db2b by Kristian Høgsberg on 07/09/2010 at 21:09..
Fix integer signedness and fd size confusion
https://invent.kde.org/neon/backports-jammy/wayland/commit/4f14f6e109a3418dd4416feb8e6d10156d36db2b

Git commit 7cd36185d79a2940b8f99c7472149443f5367c18 by Kristian Høgsberg on 08/09/2010 at 00:57..
Fill out a closure when sending events as well
https://invent.kde.org/neon/backports-jammy/wayland/commit/7cd36185d79a2940b8f99c7472149443f5367c18

Git commit 50038e4757e6486df555d22cba4cc85650e0c738 by Kristian Høgsberg on 08/09/2010 at 01:08..
Drop wl_surface_post_event() helper

Now wl_client_post_event() is the only entry point for sending out events.
https://invent.kde.org/neon/backports-jammy/wayland/commit/50038e4757e6486df555d22cba4cc85650e0c738

Git commit 6bce89da789d99a177ec02821dcc6163dcbdbd73 by Kristian Høgsberg on 08/09/2010 at 01:34..
Return the closure from wl_connection_vmarshal()

And provide a function to write it to a connection.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6bce89da789d99a177ec02821dcc6163dcbdbd73

Git commit acf82a36bb20a869f66563b365fa65af429f067e by Kristian Høgsberg on 08/09/2010 at 01:40..
Log emitted events as well in debug mode
https://invent.kde.org/neon/backports-jammy/wayland/commit/acf82a36bb20a869f66563b365fa65af429f067e

Git commit 7d804068b67b8d05db366b1fbb593f65ccbbc4ae by Kristian Høgsberg on 08/09/2010 at 01:50..
Only set pointer image when it changes
https://invent.kde.org/neon/backports-jammy/wayland/commit/7d804068b67b8d05db366b1fbb593f65ccbbc4ae

Git commit ab2f1cddc60132ebe3b3cad466a408b803c990c3 by Kristian Høgsberg on 08/09/2010 at 02:01..
Dont post damage event from window_copy_surface

We always call this between window_draw() and attaching the window surface
so the surface we're copying to isn't visible.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab2f1cddc60132ebe3b3cad466a408b803c990c3

Git commit 9ccf08d9b8e3c2daee960c0674da0c457b5ee5b9 by Kristian Høgsberg on 08/09/2010 at 02:06..
Change debug format to not confuse object id and message parameters
https://invent.kde.org/neon/backports-jammy/wayland/commit/9ccf08d9b8e3c2daee960c0674da0c457b5ee5b9

Git commit 877d71a6e247ac1d17bc47a86af45f8e7ee041d4 by Kristian Høgsberg on 08/09/2010 at 02:15..
Marshall NULL strings correctly
https://invent.kde.org/neon/backports-jammy/wayland/commit/877d71a6e247ac1d17bc47a86af45f8e7ee041d4

Git commit 99d7c64d1b6f60d5515304f5380a0f98908cecc7 by Kristian Høgsberg on 10/09/2010 at 12:51..
Remove non-gles2 glEnable(GL_TEXTURE_2D) call
https://invent.kde.org/neon/backports-jammy/wayland/commit/99d7c64d1b6f60d5515304f5380a0f98908cecc7

Git commit ef2f48505651ec21c2c46fe4833d067ac0df160c by Kristian Høgsberg on 13/09/2010 at 20:23..
Add support for more types of input devices

Well, maybe not support, but we at least recognize touchpads and touchscreens
and try to work with them.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ef2f48505651ec21c2c46fe4833d067ac0df160c

Git commit 76b43326a57b6c90ca464ff11e76e1217c9b7c70 by Kristian Høgsberg on 14/09/2010 at 14:56..
Move example compositor to subdirectory
https://invent.kde.org/neon/backports-jammy/wayland/commit/76b43326a57b6c90ca464ff11e76e1217c9b7c70

Git commit 6dd08ebbe108c2c78cc23d6af0b00a84199d8b2c by Kristian Høgsberg on 14/09/2010 at 16:41..
Move core protocol libraries into wayland/ subdirectory
https://invent.kde.org/neon/backports-jammy/wayland/commit/6dd08ebbe108c2c78cc23d6af0b00a84199d8b2c

Git commit a46dc06da7fdabde7311a33355fbe3dfa256a446 by Kristian Høgsberg on 14/09/2010 at 16:41..
Copy over updated build instructions from the google group
https://invent.kde.org/neon/backports-jammy/wayland/commit/a46dc06da7fdabde7311a33355fbe3dfa256a446

Git commit a6f6999e49cc5faccb4f404844b9280475a3dbaa by Kristian Høgsberg on 14/09/2010 at 16:41..
Consolidate NOTES and README
https://invent.kde.org/neon/backports-jammy/wayland/commit/a6f6999e49cc5faccb4f404844b9280475a3dbaa

Git commit 6dcf8718ae3ae44a0e2022ce2a2c318430936fe6 by Kristian Høgsberg on 14/09/2010 at 17:44..
Consolidate notes from a few files in TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/6dcf8718ae3ae44a0e2022ce2a2c318430936fe6

Git commit ce457ba68cd44ec4514abc2d0e3589388397d72d by Kristian Høgsberg on 14/09/2010 at 19:39..
Add timestamp to pointer image attach request

This lets the server discard requests received after the pointer has
exited and the re-entered a surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ce457ba68cd44ec4514abc2d0e3589388397d72d

Git commit 2cd5144fa554b408664310aa9bea2a76bd939103 by Kristian Høgsberg on 14/09/2010 at 19:53..
scanner: Use protocol name for #include guards
https://invent.kde.org/neon/backports-jammy/wayland/commit/2cd5144fa554b408664310aa9bea2a76bd939103

Git commit c5dcb90d2a0d4c31b54b8aa1a91e7b243f9b983b by Kristian Høgsberg on 14/09/2010 at 19:54..
Use scanner for screenshooter protocol
https://invent.kde.org/neon/backports-jammy/wayland/commit/c5dcb90d2a0d4c31b54b8aa1a91e7b243f9b983b

Git commit 3dd66d66a39453d48c7ef4ec85c1d02e66088846 by Kristian Høgsberg on 14/09/2010 at 20:23..
Use scanner to generate screenshooter client code as well
https://invent.kde.org/neon/backports-jammy/wayland/commit/3dd66d66a39453d48c7ef4ec85c1d02e66088846

Git commit 2a4372cbcd4c45b1e9df57b9f050dc1ffd481f31 by Kristian Høgsberg on 16/09/2010 at 13:10..
Add autogen.sh
https://invent.kde.org/neon/backports-jammy/wayland/commit/2a4372cbcd4c45b1e9df57b9f050dc1ffd481f31

Git commit 45115a435e04a0ba27d0edeaddb27aed14715212 by Kristian Høgsberg on 17/09/2010 at 13:04..
Fix screenshoot.c type in Makefile
https://invent.kde.org/neon/backports-jammy/wayland/commit/45115a435e04a0ba27d0edeaddb27aed14715212

Git commit 98ffc93b95c2b43d03735cfccf52fac203c26ac3 by Kristian Høgsberg on 24/09/2010 at 14:01..
Fix EGLImageKHR leak in wl_buffer destroy
https://invent.kde.org/neon/backports-jammy/wayland/commit/98ffc93b95c2b43d03735cfccf52fac203c26ac3

Git commit 3d5bae0700e4467000948133f89ce48cc295b4ff by Kristian Høgsberg on 07/10/2010 at 01:17..
Add a shm buffer sharing mechanism
https://invent.kde.org/neon/backports-jammy/wayland/commit/3d5bae0700e4467000948133f89ce48cc295b4ff

Git commit 25694e7c3c31e4a4d29ea77865018cde73694a79 by Kristian Høgsberg on 08/10/2010 at 12:58..
A couple more TODO items
https://invent.kde.org/neon/backports-jammy/wayland/commit/25694e7c3c31e4a4d29ea77865018cde73694a79

Git commit a969c8a7f055a35aa5d3acfc865adffde29c7f62 by Kristian Høgsberg on 08/10/2010 at 13:32..
Use GL_BGRA_EXT for shm texture uploads
https://invent.kde.org/neon/backports-jammy/wayland/commit/a969c8a7f055a35aa5d3acfc865adffde29c7f62

Git commit 118fb49eeba2e372419bd3413f705a3ad010ba91 by Kristian Høgsberg on 12/10/2010 at 17:53..
Fix clients include path after moving files around
https://invent.kde.org/neon/backports-jammy/wayland/commit/118fb49eeba2e372419bd3413f705a3ad010ba91

Git commit 49291497d3cb696bb9b17033c38859eaf1cc1be8 by Kristian Høgsberg on 12/10/2010 at 21:17..
Add more cursors from the DMZ theme
https://invent.kde.org/neon/backports-jammy/wayland/commit/49291497d3cb696bb9b17033c38859eaf1cc1be8

Git commit f0152daad719209d6984217e43dc79eb47d102c9 by Kristian Høgsberg on 12/10/2010 at 22:00..
Use automake
https://invent.kde.org/neon/backports-jammy/wayland/commit/f0152daad719209d6984217e43dc79eb47d102c9

Git commit 29fc5592c57ab88697025b3414ce8115042ebc28 by Kristian Høgsberg on 12/10/2010 at 22:04..
Delete leftover makefile debugging
https://invent.kde.org/neon/backports-jammy/wayland/commit/29fc5592c57ab88697025b3414ce8115042ebc28

Git commit cf2bc67ccdf7468e906615840ecd5eb41f17e622 by Kristian Høgsberg on 16/10/2010 at 02:47..
Plug in no-op drm buffer attach function
https://invent.kde.org/neon/backports-jammy/wayland/commit/cf2bc67ccdf7468e906615840ecd5eb41f17e622

Git commit 6866856dfda896fa657b0aac6e90d833c5bda744 by Kristian Høgsberg on 25/10/2010 at 14:28..
Remove leftover of fds_in_tail hack

It's breaking the case of multiple fds in one buffer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6866856dfda896fa657b0aac6e90d833c5bda744

Git commit d0c3b9da225b0e3bd5102c977a17e66af928ab02 by Kristian Høgsberg on 25/10/2010 at 15:40..
Fall back to cairo image backend and shm surface if we don't have cairo gl
https://invent.kde.org/neon/backports-jammy/wayland/commit/d0c3b9da225b0e3bd5102c977a17e66af928ab02

Git commit 012a00777129cbb84fa88ba1b02e1f3b2dd1b4f8 by Kristian Høgsberg on 26/10/2010 at 14:37..
Add small client for testing shm surfaces
https://invent.kde.org/neon/backports-jammy/wayland/commit/012a00777129cbb84fa88ba1b02e1f3b2dd1b4f8

Git commit 61a8251360f36bcbc5ff6d21ab43ad288010c0a9 by Kristian Høgsberg on 27/10/2010 at 15:21..
Add a geometry option for x11 compositor
https://invent.kde.org/neon/backports-jammy/wayland/commit/61a8251360f36bcbc5ff6d21ab43ad288010c0a9

Git commit 332073b9db50fefe3ee7bdd85808d90732ae43ce by Kristian Høgsberg on 27/10/2010 at 19:02..
List libtoytoolkit.la before libwayland-client.la on the link line

Fixes link order for --as-needed linking.
https://invent.kde.org/neon/backports-jammy/wayland/commit/332073b9db50fefe3ee7bdd85808d90732ae43ce

Git commit 1f411902dea5451e37d94293f023fbc1f5381a0d by Kristian Høgsberg (on behalf of Chia-I Wu) on 29/10/2010 at 16:34..
Use glTexSubImage to update the pixels.

glTexImage causes respecification.  The DRM buffer a client renders to
will be different from that used to create the wl_buffer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1f411902dea5451e37d94293f023fbc1f5381a0d

Git commit 4d8ba216c543239d4419eebd41120ce74033cf2b by Kristian Høgsberg (on behalf of Chia-I Wu) on 29/10/2010 at 16:49..
Make sure there is a current context.

The context of a display is shared with the cairo device.
cairo_acquire_device should be called whenever OpenGL calls are made.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4d8ba216c543239d4419eebd41120ce74033cf2b

Git commit 1b6c0ed95a8b9c98bca0728cdf56159cc57fec45 by Kristian Høgsberg (on behalf of Chia-I Wu) on 29/10/2010 at 16:52..
Workaround an xcb-dri2 bug.

xcb_dri2_connect_device_name generated by xcb-proto 1.6 is broken.  It
only works when the length of the driver name is a multiple of 4.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1b6c0ed95a8b9c98bca0728cdf56159cc57fec45

Git commit 0bfb126e593c255dd24b464abd92dd8e39d99437 by Kristian Høgsberg on 31/10/2010 at 18:24..
Add /wayland so we pick up generated header files

Reported by Benjamin Franzke.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0bfb126e593c255dd24b464abd92dd8e39d99437

Git commit 5b7e43ac5697b34725f8a8d7d06f529d80c68f66 by Kristian Høgsberg (on behalf of Javier Jardón) on 07/11/2010 at 01:04..
Update autotools configuration

Use new libtool syntax and cleaning the code a bit
https://invent.kde.org/neon/backports-jammy/wayland/commit/5b7e43ac5697b34725f8a8d7d06f529d80c68f66

Git commit fe096cdc8c22bd06f2608ed774211da919a7839f by Kristian Høgsberg on 08/11/2010 at 13:54..
Install and dist udev rules file
https://invent.kde.org/neon/backports-jammy/wayland/commit/fe096cdc8c22bd06f2608ed774211da919a7839f

Git commit 6048e8d9f63ac5dd19ae945fcbb1ea7584484cce by Kristian Høgsberg (on behalf of Nikolai Kondrashov) on 08/11/2010 at 13:55..
Fix Wayland build instructions

Replace aclocal; autoconf invocation in Wayland build instructions with
an up-to-date ./autogen.sh invocation.

Signed-off-by: Nikolai Kondrashov <spbnick at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/6048e8d9f63ac5dd19ae945fcbb1ea7584484cce

Git commit 990854d0198e8fd654aed67d86342f66e666d390 by Kristian Høgsberg (on behalf of Johan Bilien) on 08/11/2010 at 13:55..
Fixed a bogus call to cairo_destroy
https://invent.kde.org/neon/backports-jammy/wayland/commit/990854d0198e8fd654aed67d86342f66e666d390

Git commit 2b43bd73a0f0f3e81cd4a8943fd10c21e00727a2 by Kristian Høgsberg on 08/11/2010 at 20:46..
Bring gears example up to date

Must have gears.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2b43bd73a0f0f3e81cd4a8943fd10c21e00727a2

Git commit f2912fa85fc3e0bba3359032f94495dc0a77020b by Kristian Høgsberg (on behalf of Jesse Barnes) on 09/11/2010 at 19:25..
compositor: put console into KD_GRAPHICS mode at vt enter time

This will keep the kernel from changing graphics state out from under us
(e.g. blanking).
https://invent.kde.org/neon/backports-jammy/wayland/commit/f2912fa85fc3e0bba3359032f94495dc0a77020b

Git commit 997ce64302482ba9958cbe784b44c548e42724ac by Kristian Høgsberg (on behalf of Tiago Vignatti) on 10/11/2010 at 01:47..
compositor: add safety check when EGL fails to initialize

offending message:

    Program received signal SIGSEGV, Segmentation fault.
    create_pointer_images (ec=0x619f10) at compositor.c:240
    240         glEGLImageTargetTexture2DOES(GL_TEXTURE_2D,

Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/997ce64302482ba9958cbe784b44c548e42724ac

Git commit b97b28c339a94223119e122ab899f500d7a4bd9e by Kristian Høgsberg (on behalf of Peter Hutterer) on 10/11/2010 at 13:42..
README: fix a few typos

And one in the main.tex spec document.

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

Git commit 7637ff0839488ae4fe7be569e0e0f9ce8e77b5bf by Kristian Høgsberg (on behalf of Nikolai Kondrashov) on 12/11/2010 at 01:11..
Clean up .gitignore files

Sort the contents and update .gitignore files to hide generated files from
git status output.

Signed-off-by: Nikolai Kondrashov <spbnick at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7637ff0839488ae4fe7be569e0e0f9ce8e77b5bf

Git commit 5dfe299b91f2f2e7c8fe460ac08df1935e3c73d5 by Kristian Høgsberg on 16/11/2010 at 15:55..
Add logo svg
https://invent.kde.org/neon/backports-jammy/wayland/commit/5dfe299b91f2f2e7c8fe460ac08df1935e3c73d5

Git commit 67f4ffdf03c6520b9e0539fef8bcd79abe2f0eca by Kristian Høgsberg on 16/11/2010 at 15:57..
Oops, no -- in xml comments allowed
https://invent.kde.org/neon/backports-jammy/wayland/commit/67f4ffdf03c6520b9e0539fef8bcd79abe2f0eca

Git commit b163cef6e77d0fd64af917e34971f01227ad3952 by Kristian Høgsberg on 19/11/2010 at 15:47..
Make the server event loop embeddable

By exposing the epoll fd, we can embed the server event loop in other
main loops suchs as Qt or GTK+.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b163cef6e77d0fd64af917e34971f01227ad3952

Git commit 9f89a40ec17e84a70ab067b783d1d711a1307150 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 22/11/2010 at 15:36..
scanner: include stddef.h to provide NULL and size_t
https://invent.kde.org/neon/backports-jammy/wayland/commit/9f89a40ec17e84a70ab067b783d1d711a1307150

Git commit 40269a6ed69a6619bf97e7276083b489104c8f7e by Kristian Høgsberg (on behalf of Bryce Harrington) on 22/11/2010 at 15:48..
Cleanup declared but unused variables.

Make was complaining about a bunch of unused variables that were being
declared.

Signed-off-by: Bryce Harrington <bryce at canonical.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/40269a6ed69a6619bf97e7276083b489104c8f7e

Git commit f57303f7cfbdcf7f1e3df76a4194f86a7d7f1125 by Kristian Høgsberg (on behalf of Bryce Harrington) on 22/11/2010 at 15:48..
Expose window_set_surface() in window.h

gears.c uses this routine and was complaining about it being implicitly
declared.

Signed-off-by: Bryce Harrington <bryce at canonical.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/f57303f7cfbdcf7f1e3df76a4194f86a7d7f1125

Git commit 515f63ad72a8ea8f3435a5982dd24209835a2af1 by Kristian Høgsberg (on behalf of Bryce Harrington) on 22/11/2010 at 15:48..
Quell warning about potentially uninitialized variable 'surface'

In theory, it was possible for an undefined 'surface' to be passed to
window_set_surface().  Instead, explicitly pass NULL.

Signed-off-by: Bryce Harrington <bryce at canonical.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/515f63ad72a8ea8f3435a5982dd24209835a2af1

Git commit 156d057e567f6ea27b0e9771c5b2ecf80f09ce7e by Kristian Høgsberg (on behalf of Bryce Harrington) on 22/11/2010 at 15:49..
Function declares a pointer return, so return one.

These two functions are just wrappers around display_create_*_surface
but weren't forwarding along the result of those calls as is implied by
their return value type.

This fixes a compile-time warning.

Signed-off-by: Bryce Harrington <bryce at canonical.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/156d057e567f6ea27b0e9771c5b2ecf80f09ce7e

Git commit a6d9e11447a1639a77105c73b929d60cbfff1efb by Kristian Høgsberg (on behalf of Fabian Henze) on 22/11/2010 at 15:49..
Two typo fixes in the documentation

Two typo fixes in specs/main.tex, mentioned in an earlier mail.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a6d9e11447a1639a77105c73b929d60cbfff1efb

Git commit 8857a96a97be66200d941c96e99d1cb917086789 by Kristian Høgsberg on 22/11/2010 at 18:02..
window: Don't call drag_offer_handler if it's NULL

Reported by canbaby at 21cn.com.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8857a96a97be66200d941c96e99d1cb917086789

Git commit 3d46534f4a70f2a68143e0bfcc06a52ea64558da by Kristian Høgsberg on 22/11/2010 at 18:58..
Fix compositor crash when dragging to a surface that disappears
https://invent.kde.org/neon/backports-jammy/wayland/commit/3d46534f4a70f2a68143e0bfcc06a52ea64558da

Git commit d1c43107150c30c4ac1f88eee025833ce55d9a9a by Kristian Høgsberg (on behalf of Yuval Fledel) on 22/11/2010 at 19:30..
xml tag should close, or some parsers fail
https://invent.kde.org/neon/backports-jammy/wayland/commit/d1c43107150c30c4ac1f88eee025833ce55d9a9a

Git commit 91b5999ce4a72aadec0aef42121045ff78e1f0df by Kristian Høgsberg (on behalf of Yuval Fledel) on 22/11/2010 at 20:19..
add newlines for error printfs
https://invent.kde.org/neon/backports-jammy/wayland/commit/91b5999ce4a72aadec0aef42121045ff78e1f0df

Git commit e9f5e36730e8dfc703e90b1382ffd0dac6310a99 by Kristian Høgsberg (on behalf of Yuval Fledel) on 22/11/2010 at 20:19..
Make clients exit orderly when there is no connection
https://invent.kde.org/neon/backports-jammy/wayland/commit/e9f5e36730e8dfc703e90b1382ffd0dac6310a99

Git commit 55973f2f5a666b3a9d05598a60191205a7e69fa2 by Kristian Høgsberg (on behalf of Darxus) on 23/11/2010 at 02:54..
Some additional return value checking
https://invent.kde.org/neon/backports-jammy/wayland/commit/55973f2f5a666b3a9d05598a60191205a7e69fa2

Git commit 675c77c36a1fba2973751d4e9c8f3ea073309348 by Kristian Høgsberg (on behalf of Joel Teichroeb) on 24/11/2010 at 13:50..
Fix potentially undefined behavior

Really this time.

http://llvm.org/bugs/show_bug.cgi?id=8670
https://invent.kde.org/neon/backports-jammy/wayland/commit/675c77c36a1fba2973751d4e9c8f3ea073309348

Git commit 32ff69017ab003911b754982772d0644b1cd23d4 by Kristian Høgsberg on 24/11/2010 at 19:29..
Fix udev rules install directory
https://invent.kde.org/neon/backports-jammy/wayland/commit/32ff69017ab003911b754982772d0644b1cd23d4

Git commit 1f5d507596eabd5d76166288f83b02f260302596 by Kristian Høgsberg on 29/11/2010 at 13:13..
Define MULT outside the HAVE_CAIRO_GL #ifdef
https://invent.kde.org/neon/backports-jammy/wayland/commit/1f5d507596eabd5d76166288f83b02f260302596

Git commit c4b8c457e8d765308f4791b0aaf9d23bff7639e8 by Kristian Høgsberg (on behalf of Fred Morcos) on 29/11/2010 at 13:14..
fix missing includes in clients/window.h and clients/wayland-glib.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/c4b8c457e8d765308f4791b0aaf9d23bff7639e8

Git commit 4ee71386090cc446fe12b961f616b7a3abb3dc1e by Kristian Høgsberg (on behalf of Yuval Fledel) on 29/11/2010 at 20:54..
Describe the protocol using inline XML comments

Signed-off-by: Yuval Fledel <yuvalfl at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/4ee71386090cc446fe12b961f616b7a3abb3dc1e

Git commit ac93a3d3d74f683345bdce8cb8388532540f3f49 by Kristian Høgsberg (on behalf of Yuval Fledel) on 29/11/2010 at 21:09..
Document wl_list

Comments only.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ac93a3d3d74f683345bdce8cb8388532540f3f49

Git commit c1ad1f9c9b493bc3b8952a4b6702476f1bbaa8df by Kristian Høgsberg on 29/11/2010 at 22:04..
Consolidate 'sync' and 'frame' events into just one 'key' event
https://invent.kde.org/neon/backports-jammy/wayland/commit/c1ad1f9c9b493bc3b8952a4b6702476f1bbaa8df

Git commit 35fd2a8cc68c42d90756330535de04cbbb4d2613 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 29/11/2010 at 22:14..
wayland_client: rename wl_display_create to wl_display_connect

Avoid conflict when using wayland-{server,client} together.
https://invent.kde.org/neon/backports-jammy/wayland/commit/35fd2a8cc68c42d90756330535de04cbbb4d2613

Git commit ec2e64224b111febacf645cac56046cd831b56da by Kristian Høgsberg (on behalf of Benjamin Franzke) on 29/11/2010 at 22:38..
Add wayland backend for compositor (nested)
https://invent.kde.org/neon/backports-jammy/wayland/commit/ec2e64224b111febacf645cac56046cd831b56da

Git commit 88b272d9ffc8958178385e9ff05fee45d7771738 by Kristian Høgsberg (on behalf of Joel Teichroeb) on 30/11/2010 at 18:26..
Made the window save the coordinates when being draged.
https://invent.kde.org/neon/backports-jammy/wayland/commit/88b272d9ffc8958178385e9ff05fee45d7771738

Git commit 41da90897c548bf2dfa8f4eeaed86f3215e7558b by Kristian Høgsberg on 30/11/2010 at 19:01..
Don't hardcode offered dnd types in window.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/41da90897c548bf2dfa8f4eeaed86f3215e7558b

Git commit d44bc8b8eef470780fd5cbd8737b5cc1a4226b39 by Kristian Høgsberg on 30/11/2010 at 20:10..
Add reject round trip to dnd protocol

This lets a drag target reject a drop.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d44bc8b8eef470780fd5cbd8737b5cc1a4226b39

Git commit 0c007aea35c94907bce4dfa75fbea47e131161cb by Kristian Høgsberg (on behalf of Joel Teichroeb) on 30/11/2010 at 20:42..
Make the dnd client actually work.

The dnd client now sends a mime type of
application/x-wayland-dnd-flower instead of text/plain.  The dnd
message is just the position and random seed that lets the drop source
add the flower to its grid.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0c007aea35c94907bce4dfa75fbea47e131161cb

Git commit ebe332700323377e2b97bb8c40485461d060c608 by Kristian Høgsberg (on behalf of Yuval Fledel) on 01/12/2010 at 02:26..
Describe the wire protocol
https://invent.kde.org/neon/backports-jammy/wayland/commit/ebe332700323377e2b97bb8c40485461d060c608

Git commit a242129257e1eb9632ea6884d84a08ca9e8a1265 by Kristian Høgsberg on 01/12/2010 at 14:39..
Fix key handler to not run handlers from an empty list
https://invent.kde.org/neon/backports-jammy/wayland/commit/a242129257e1eb9632ea6884d84a08ca9e8a1265

Git commit 4203df1fd5be095b45389d6084047649c5763cde by Kristian Høgsberg on 01/12/2010 at 14:40..
compositor-wayland: Use glFlush() not glFinish() after rendering frame
https://invent.kde.org/neon/backports-jammy/wayland/commit/4203df1fd5be095b45389d6084047649c5763cde

Git commit 3ada7ec83ace0be56119ca8b14a568f0efb27cde by Kristian Høgsberg on 01/12/2010 at 14:42..
compositor-wayland: Call wlsc_compositor_finish_frame from frame callback
https://invent.kde.org/neon/backports-jammy/wayland/commit/3ada7ec83ace0be56119ca8b14a568f0efb27cde

Git commit 1f25315ae263c28687b7dffd482f6453c02cdc34 by Kristian Høgsberg on 01/12/2010 at 14:46..
Add $(GCC_CFLAGS) back

Missed this when moving to automake.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1f25315ae263c28687b7dffd482f6453c02cdc34

Git commit 06bc26401c53fb36c3cacfaeaaa55d127dc2fdf1 by Kristian Høgsberg on 01/12/2010 at 14:50..
Fix warnings from adding -Wall back
https://invent.kde.org/neon/backports-jammy/wayland/commit/06bc26401c53fb36c3cacfaeaaa55d127dc2fdf1

Git commit 26437073910d0e0850dd5d6ee7483f6f26172004 by Kristian Høgsberg on 01/12/2010 at 15:17..
Move pointer and keyboard focus tracking into libwayland-server
https://invent.kde.org/neon/backports-jammy/wayland/commit/26437073910d0e0850dd5d6ee7483f6f26172004

Git commit 0611e3efc2e79e2df61f0225ebd47ef8f7b27c12 by Kristian Høgsberg on 01/12/2010 at 15:21..
Indentation nit-picking
https://invent.kde.org/neon/backports-jammy/wayland/commit/0611e3efc2e79e2df61f0225ebd47ef8f7b27c12

Git commit 2bb3ebe1e437acf836449f0a63f3264ad29566f2 by Kristian Høgsberg on 01/12/2010 at 21:53..
Create socket in /var/run/user/${HOME}

Use the runtime dir from XDG Base Directory Specification for creating the
socket in a directory only the user can read and write.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2bb3ebe1e437acf836449f0a63f3264ad29566f2

Git commit 50dc6989b84ee8b4c2337a11b3d295208723251a by Kristian Høgsberg on 01/12/2010 at 21:53..
compositor: Shut down properly so we remove the socket
https://invent.kde.org/neon/backports-jammy/wayland/commit/50dc6989b84ee8b4c2337a11b3d295208723251a

Git commit caa64425564a54431dd8304e005430a453cc2e97 by Kristian Høgsberg on 01/12/2010 at 21:53..
compositor: Use a virtual destructor when shutting down

Backend can now rely on their destroy function getting called on shutdown,
so reset tty etc there instead of handling SIGTERM twice.
https://invent.kde.org/neon/backports-jammy/wayland/commit/caa64425564a54431dd8304e005430a453cc2e97

Git commit b71cd9e31db6869fb9526ba28607ac35c69f2024 by Kristian Høgsberg on 01/12/2010 at 22:00..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/b71cd9e31db6869fb9526ba28607ac35c69f2024

Git commit b313b0298328e3837c1fb75768f9e122385d05b8 by Kristian Høgsberg on 01/12/2010 at 22:35..
Chage the 'base' field to be the name of the super class instead

Instead of display->base.base we want display->proxy.object, or

        buffer->buffer.resource.object.id = id;

which makes it clear what we end up addressing.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b313b0298328e3837c1fb75768f9e122385d05b8

Git commit 9750a7a9b59f0ad390e19b4fadb1e6db9d5196f4 by Kristian Høgsberg on 01/12/2010 at 22:46..
Silence scanner makefile rule by default
https://invent.kde.org/neon/backports-jammy/wayland/commit/9750a7a9b59f0ad390e19b4fadb1e6db9d5196f4

Git commit aa82767c9838f2c834d7976ae6377491894ca6fe by Kristian Høgsberg on 02/12/2010 at 01:06..
Use generated wl_interface for visuals
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa82767c9838f2c834d7976ae6377491894ca6fe

Git commit f8fc08f77187f6a5723281dab66841e5f3c24320 by Kristian Høgsberg on 02/12/2010 at 01:10..
Add origin information to output.geometry event
https://invent.kde.org/neon/backports-jammy/wayland/commit/f8fc08f77187f6a5723281dab66841e5f3c24320

Git commit 45568f6e33bb2af567e18b8d8b089e561e6b156d by Kristian Høgsberg (on behalf of Yuval Fledel) on 06/12/2010 at 14:20..
When no DRM present, clients (window.c actually) now either exit orderly,
or if that check is removed - crash (unsurprisingly).
This patch relieves this assumption, and allow some clients (terminal,
image, flower) to run in a non-DRM environment
https://invent.kde.org/neon/backports-jammy/wayland/commit/45568f6e33bb2af567e18b8d8b089e561e6b156d

Git commit 7d564d93eb28ae64998c17ac2fc92aef5ab07b75 by Kristian Høgsberg on 06/12/2010 at 15:46..
Refactor drm buffer creation a bit
https://invent.kde.org/neon/backports-jammy/wayland/commit/7d564d93eb28ae64998c17ac2fc92aef5ab07b75

Git commit c551bd2ae8bbb4cec52fd9576a217ae5e2cef43a by Kristian Høgsberg on 06/12/2010 at 21:43..
Add a surface destroy callback and use it for focus tracking
https://invent.kde.org/neon/backports-jammy/wayland/commit/c551bd2ae8bbb4cec52fd9576a217ae5e2cef43a

Git commit ab8475cafd730fb5b762dd3bcf9b7ae5d7a0f9ba by Kristian Høgsberg on 06/12/2010 at 21:56..
Move get_time() helper to core

We'll need a better strategy for generating timestamps without input events
or pageflips.  At least we'll need to ensure everybody is using the same
underlying time source.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab8475cafd730fb5b762dd3bcf9b7ae5d7a0f9ba

Git commit 3d76e652c54007d29a5b1c3f31ec1da2326499b8 by Kristian Høgsberg on 06/12/2010 at 22:33..
Use the per-surface destroy callback for grabs as well
https://invent.kde.org/neon/backports-jammy/wayland/commit/3d76e652c54007d29a5b1c3f31ec1da2326499b8

Git commit a9e8961ea298040b0a8a9952b76eb2fae5621126 by Kristian Høgsberg on 07/12/2010 at 02:32..
Use surface destroy notifier for cancelling grabs
https://invent.kde.org/neon/backports-jammy/wayland/commit/a9e8961ea298040b0a8a9952b76eb2fae5621126

Git commit 02ef1c1aca7f05ffcd6081af4e1135186614b7d3 by Kristian Høgsberg on 07/12/2010 at 02:35..
Move focus tracking surface destroy callbacks into core
https://invent.kde.org/neon/backports-jammy/wayland/commit/02ef1c1aca7f05ffcd6081af4e1135186614b7d3

Git commit 4685fa324f5692c5690460905024902359e85e2a by Kristian Høgsberg on 07/12/2010 at 02:38..
Pass timestamp in surface destroy callback
https://invent.kde.org/neon/backports-jammy/wayland/commit/4685fa324f5692c5690460905024902359e85e2a

Git commit 7132a9aeb88bc23d8841fe39279fc9256ed5fb77 by Kristian Høgsberg on 07/12/2010 at 02:41..
Move get_time() helper back into compositor
https://invent.kde.org/neon/backports-jammy/wayland/commit/7132a9aeb88bc23d8841fe39279fc9256ed5fb77

Git commit ea08115ee34d2333733e4ec6caff8bd9780b4017 by Kristian Høgsberg on 07/12/2010 at 13:59..
Start grab when button is pressed, upgrade if we start drag, move or resize

Fixes crash on click in terminal.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ea08115ee34d2333733e4ec6caff8bd9780b4017

Git commit dff2e3c5506882a781250becb3138571c1827a43 by Kristian Høgsberg on 07/12/2010 at 14:02..
Reduce indentation in notify_button()
https://invent.kde.org/neon/backports-jammy/wayland/commit/dff2e3c5506882a781250becb3138571c1827a43

Git commit 855ab757874c46e2211c1ab4ed76fdda135d6d33 by Kristian Høgsberg on 07/12/2010 at 14:03..
Remove unnecessary wlsc_compositor_schedule_repaint() call
https://invent.kde.org/neon/backports-jammy/wayland/commit/855ab757874c46e2211c1ab4ed76fdda135d6d33

Git commit 4be2ed9611e47c3205fa61977663442a23ad6a3c by Kristian Høgsberg on 07/12/2010 at 14:15..
Drop dummy wl_grab_surface hack
https://invent.kde.org/neon/backports-jammy/wayland/commit/4be2ed9611e47c3205fa61977663442a23ad6a3c

Git commit 359d667646eae1a22af78938c94155c6225d3657 by Kristian Høgsberg on 07/12/2010 at 17:29..
Add grab object infrastructure
https://invent.kde.org/neon/backports-jammy/wayland/commit/359d667646eae1a22af78938c94155c6225d3657

Git commit fc9c28adc01c39b37af35104275aa4f1e5a36284 by Kristian Høgsberg on 07/12/2010 at 18:04..
Move resizing to a grab object
https://invent.kde.org/neon/backports-jammy/wayland/commit/fc9c28adc01c39b37af35104275aa4f1e5a36284

Git commit 6d65d5f4d47130a0cd9919d3409ef9bd7723d655 by Kristian Høgsberg on 07/12/2010 at 18:30..
Handle shell.move using a grab object
https://invent.kde.org/neon/backports-jammy/wayland/commit/6d65d5f4d47130a0cd9919d3409ef9bd7723d655

Git commit 287343a0d36de3cef67d9527f15d968b01a37544 by Kristian Høgsberg on 07/12/2010 at 19:58..
Use a grab object for drag and drop
https://invent.kde.org/neon/backports-jammy/wayland/commit/287343a0d36de3cef67d9527f15d968b01a37544

Git commit 57db067cec418e9ae88f5c67ff49461a395dcb52 by Kristian Høgsberg on 07/12/2010 at 20:08..
Make wlsc_input_device_update_grab() take a grab object
https://invent.kde.org/neon/backports-jammy/wayland/commit/57db067cec418e9ae88f5c67ff49461a395dcb52

Git commit 8321e693d2a1b09b13b5ab9b3a65dc0eba19b138 by Kristian Høgsberg on 07/12/2010 at 22:25..
Use grab object for motion grabs too

Now all grabs use grab objects, so drop the grab enum.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8321e693d2a1b09b13b5ab9b3a65dc0eba19b138

Git commit dfce71d116b91debed76081cda6c8dad4f53e513 by Kristian Høgsberg on 08/12/2010 at 01:19..
Reenable fragment shader precision specifier
https://invent.kde.org/neon/backports-jammy/wayland/commit/dfce71d116b91debed76081cda6c8dad4f53e513

Git commit 9c3e8d734ef0e7cb24281a55e4c384985a5ba5f8 by Kristian Høgsberg on 08/12/2010 at 14:48..
Move grab state to struct wl_input_device
https://invent.kde.org/neon/backports-jammy/wayland/commit/9c3e8d734ef0e7cb24281a55e4c384985a5ba5f8

Git commit b3fc757cd8a18633057634e7bedc2a91c950b09c by Kristian Høgsberg on 08/12/2010 at 16:07..
Handle buttons in grab objects too
https://invent.kde.org/neon/backports-jammy/wayland/commit/b3fc757cd8a18633057634e7bedc2a91c950b09c

Git commit c5c510ec7523efc60d955d5daa8df3776c35e65a by Kristian Høgsberg on 08/12/2010 at 20:12..
Set up visuals in wayland-server

Still very much hand-wavey, but at least it's only in one place now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c5c510ec7523efc60d955d5daa8df3776c35e65a

Git commit 67f367f329f3640d12db43cf5dc14e7f8b1e1242 by Kristian Høgsberg on 09/12/2010 at 16:06..
Document the shell.configure event a bit
https://invent.kde.org/neon/backports-jammy/wayland/commit/67f367f329f3640d12db43cf5dc14e7f8b1e1242

Git commit ab1862d68a063764f99d8591355e40807be659df by Kristian Høgsberg on 09/12/2010 at 16:29..
Move code around to keep input device interface and init function close
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab1862d68a063764f99d8591355e40807be659df

Git commit 3a1b4815b03f301df503f71460aab53800514fcc by Kristian Høgsberg (on behalf of Joel Teichroeb) on 13/12/2010 at 15:14..
Fixed a small typo
https://invent.kde.org/neon/backports-jammy/wayland/commit/3a1b4815b03f301df503f71460aab53800514fcc

Git commit 7c221d278a59f1a96bc8d5d1d6239ff2c8353a6c by Kristian Høgsberg on 16/12/2010 at 18:35..
Add window resize sample client

This is an example of how to animate window resizing.  The size is
animated by a simple physics model that allows the user to cancel the
animation halfway and still look good.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7c221d278a59f1a96bc8d5d1d6239ff2c8353a6c

Git commit 5c4056e049ebb8735cd0be8c5a639a90a6dae8f6 by Kristian Høgsberg on 16/12/2010 at 19:56..
Schedule frame callback in the redraw handler
https://invent.kde.org/neon/backports-jammy/wayland/commit/5c4056e049ebb8735cd0be8c5a639a90a6dae8f6

Git commit 53a7f2137b5aba32e97dbc3b964bdaf19a9099ef by Kristian Høgsberg on 17/12/2010 at 02:11..
Fix the resizor
https://invent.kde.org/neon/backports-jammy/wayland/commit/53a7f2137b5aba32e97dbc3b964bdaf19a9099ef

Git commit 82da52b15b49da3f3c7b4bd85d334ddfaa375ebc by Kristian Høgsberg on 17/12/2010 at 14:53..
Update surface.attach and change surface.map to surface.map_toplevel

The new map_toplevel() request no longer specifies a position and takes
the size from the attached buffer.  The attach request now takes a
position relative to the top-left corner of the old buffer to let
clients specify the relative position of the new buffer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/82da52b15b49da3f3c7b4bd85d334ddfaa375ebc

Git commit cbe6f0438813a18a06ac88b93a1fe295b3092804 by Kristian Høgsberg on 17/12/2010 at 14:54..
Fix compositor-wayland
https://invent.kde.org/neon/backports-jammy/wayland/commit/cbe6f0438813a18a06ac88b93a1fe295b3092804

Git commit 0d8805ea18fd26d70f1c07df34d0612435e9f55a by Kristian Høgsberg on 01/01/2011 at 15:55..
Install the pkgconfig files

Lost the install rule when we converted to automake.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d8805ea18fd26d70f1c07df34d0612435e9f55a

Git commit f8475c93669528bbaec730afee3acb39655c5c86 by nobled on 05/01/2011 at 17:41..
Fix window.c build without cairo-gl
https://invent.kde.org/neon/backports-jammy/wayland/commit/f8475c93669528bbaec730afee3acb39655c5c86

Git commit 5753188e1663241338c0b31428b0dd7a6641044b by Kristian Høgsberg on 05/01/2011 at 22:34..
Move basic grab handling to core libraries
https://invent.kde.org/neon/backports-jammy/wayland/commit/5753188e1663241338c0b31428b0dd7a6641044b

Git commit 9835417962dcc65ee6c426ef8aad4cd1d979d82e by nobled on 05/01/2011 at 23:00..
Workaround gears depending on cairo-gl

Extremely hacky, but at least it doesn't stop the build anymore.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9835417962dcc65ee6c426ef8aad4cd1d979d82e

Git commit f1ef15cb45f8831b81aeefe03412dfb099f0220e by Kristian Høgsberg on 06/01/2011 at 15:00..
Move grab definitions to wayland-util.h

These tokens really are part of the protocol and we need to extend the
scanner to generate them.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f1ef15cb45f8831b81aeefe03412dfb099f0220e

Git commit 4e63c6313bb9167842d07c78ea3573307e75404a by Kristian Høgsberg on 06/01/2011 at 19:22..
Merge remote branch 'nobled/fixes2'
https://invent.kde.org/neon/backports-jammy/wayland/commit/4e63c6313bb9167842d07c78ea3573307e75404a

Git commit f6b1471fd8a67a14d54d3f45bef3020e895f8c03 by Kristian Høgsberg on 06/01/2011 at 20:32..
Initialize surface->link so we can always wl_list_remove() it

In particular, even if we never added it to the compositor surface list.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f6b1471fd8a67a14d54d3f45bef3020e895f8c03

Git commit 175e6cec39dfd25b0b8830a98c859077a9d2515e by Kristian Høgsberg on 06/01/2011 at 20:45..
Pass EGL_NO_CONTEXT to eglCreateImageKHR for EGL_DRM_BUFFER_MESA target
https://invent.kde.org/neon/backports-jammy/wayland/commit/175e6cec39dfd25b0b8830a98c859077a9d2515e

Git commit 8f66a57b4d46d309e07030a2ba4d88c1aebf18fb by Kristian Høgsberg on 07/01/2011 at 13:38..
Ignore surface.map_toplevel() if already mapped
https://invent.kde.org/neon/backports-jammy/wayland/commit/8f66a57b4d46d309e07030a2ba4d88c1aebf18fb

Git commit 8a457e3e9f023db1975fa585e92edbcd87f30dea by Kristian Høgsberg on 07/01/2011 at 14:19..
Simplify visual check
https://invent.kde.org/neon/backports-jammy/wayland/commit/8a457e3e9f023db1975fa585e92edbcd87f30dea

Git commit 1926ebab731b6c7302f255b4181a0ec706f0b6a0 by Kristian Høgsberg on 07/01/2011 at 19:04..
Add missing newline in gears error message
https://invent.kde.org/neon/backports-jammy/wayland/commit/1926ebab731b6c7302f255b4181a0ec706f0b6a0

Git commit 96ce968b123f0edde7b8c3b61e9d2abed002c678 by Kristian Høgsberg on 07/01/2011 at 19:42..
gears: Include config.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/96ce968b123f0edde7b8c3b61e9d2abed002c678

Git commit 052d17d4d9b81c4ab8a23c14316047996221bb0c by Kristian Høgsberg on 07/01/2011 at 21:13..
Map new surfaces on top of all other surface
https://invent.kde.org/neon/backports-jammy/wayland/commit/052d17d4d9b81c4ab8a23c14316047996221bb0c

Git commit 15bdc5d1d39da67d7ba369ed27bddcd4a7573d3b by Kristian Høgsberg (on behalf of Callum Lowcay) on 08/01/2011 at 20:14..
terminal: UTF-8 support

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/15bdc5d1d39da67d7ba369ed27bddcd4a7573d3b

Git commit 30eeae55e0b82f6e7025b284f154a2d307eada4a by Kristian Høgsberg (on behalf of Callum Lowcay) on 08/01/2011 at 20:14..
terminal: Fancy colors

Includes bold, underline, inverse, and blink attributes.  Blink is
rendered bold as in xterm.  Supports xterm's 256 color palette.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/30eeae55e0b82f6e7025b284f154a2d307eada4a

Git commit a0ee21c7dcca37864552f9fe6e685e70255d5977 by Kristian Høgsberg (on behalf of Callum Lowcay) on 08/01/2011 at 20:15..
terminal: Window size ioctls

Use TIOCSWINSZ ioctl to set window size on terminal resize.
This causes applications to be notified of the resize event.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a0ee21c7dcca37864552f9fe6e685e70255d5977

Git commit b8609ada50785cf43597653b5a41ade26aa871d7 by Kristian Høgsberg (on behalf of Callum Lowcay) on 09/01/2011 at 01:33..
terminal: Escape sequence handling fixes

Upgrade and refactor terminal_data to properly handle non-csi escape
codes, control characters in escape codes, and invalid escape sequences.
Also fix a buffer overflow in the escape sequence buffer.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b8609ada50785cf43597653b5a41ade26aa871d7

Git commit bbeac60b8a4490676d807877ae3195688b8e487c by Kristian Høgsberg (on behalf of Callum Lowcay) on 09/01/2011 at 01:33..
terminal: Scroll margins

Implement scroll margins and related escape codes.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/bbeac60b8a4490676d807877ae3195688b8e487c

Git commit 8e57dd5071cf5e0f4304520eb5596eb6dbae0592 by Kristian Høgsberg (on behalf of Callum Lowcay) on 09/01/2011 at 01:33..
terminal: Basic vt100 escape codes

Implements correct behaviour for vt100 cursor movement, erasing, custom
tabs, and reporting. Includes relevant terminal modes.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/8e57dd5071cf5e0f4304520eb5596eb6dbae0592

Git commit 69e9658da008bb4513af984f19972e666d0bd0f8 by Kristian Høgsberg (on behalf of Callum Lowcay) on 09/01/2011 at 01:34..
terminal: vt102 editing commands

Implement the vt102 editing commands, and insert/replace mode.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/69e9658da008bb4513af984f19972e666d0bd0f8

Git commit 256e72f0e2ed33fa363c414fb332727fb59adec0 by Kristian Høgsberg (on behalf of Callum Lowcay) on 09/01/2011 at 01:35..
terminal: Implement character set switching

Includes the 3 vt100 character sets.  Some of the graphic symbols don't
display because they are not included in the default font.  Apparantly
the cairo toy font API doesn't do font substitution.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/256e72f0e2ed33fa363c414fb332727fb59adec0

Git commit 7e08e90c7421d4c766f4f21e99ce3d2923607be8 by Kristian Høgsberg (on behalf of Callum Lowcay) on 09/01/2011 at 01:35..
terminal: Special keys

Implements support for function, cursor, and editing keys, with
modifiers.  Partially implements application keypad mode.  Expands
control key support.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7e08e90c7421d4c766f4f21e99ce3d2923607be8

Git commit 86653ed273ebf90feae99efb476308dd99e86bed by Kristian Høgsberg (on behalf of Callum Lowcay) on 09/01/2011 at 01:35..
terminal: Various fixes

Fix several bugs in the previous patches.  Fix inverse inverse video
with bold attribute, incorrect duplication of attributes when scrolling
up, underline aliasing, bottom scroll margin adjustment when resizing,
and unnecessary sleep when sending terminal reports.  Change TERM
environment variable to xterm-256color to better reflect terminal
capabilities (although it still doesn't emulate all of xterm).

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/86653ed273ebf90feae99efb476308dd99e86bed

Git commit 81179db42c2a1d512af41f7ac0bc5998d83875b6 by Callum Lowcay on 09/01/2011 at 23:14..
terminal: More character attributes

Implement the concealed attribute, and 16-colour attributes.  Fix a bug in
256-colour attributes that prevented them from working in elinks.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/81179db42c2a1d512af41f7ac0bc5998d83875b6

Git commit 5fd89d255b7f4f66ad2b5040919532131750d952 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 10/01/2011 at 19:16..
terminal: fix crashing when terminal size is < 0

Just skip drawing when width or height is less than zero.

Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/5fd89d255b7f4f66ad2b5040919532131750d952

Git commit 1b091dd41128d42992bc4cbbd14f195a9c219d2a by Callum Lowcay on 10/01/2011 at 20:08..
Merge branch 'master' of git://anongit.freedesktop.org/wayland
https://invent.kde.org/neon/backports-jammy/wayland/commit/1b091dd41128d42992bc4cbbd14f195a9c219d2a

Git commit da846ca91d0b86a35910c7154637f7e157abd1ca by Kristian Høgsberg on 11/01/2011 at 15:00..
Fix terminal resizing

Get snapping to character grid working again, avoid crashes when attempting
to resize below 1x1 character cell, only redraw when size actually changes.

Also, rename window_get_child_rectangle() to window_get_child_allocation().
https://invent.kde.org/neon/backports-jammy/wayland/commit/da846ca91d0b86a35910c7154637f7e157abd1ca

Git commit 8c25420a50dc97966553c9b4b7a87955c2e442b5 by Kristian Høgsberg on 11/01/2011 at 15:09..
Split background and foreground painting into separate loops
https://invent.kde.org/neon/backports-jammy/wayland/commit/8c25420a50dc97966553c9b4b7a87955c2e442b5

Git commit f106fd5b67512be2e786102b8549f182e5a00839 by Kristian Høgsberg on 11/01/2011 at 15:11..
Add helper to set color from color table
https://invent.kde.org/neon/backports-jammy/wayland/commit/f106fd5b67512be2e786102b8549f182e5a00839

Git commit 71eca89356b27515777caf4d013e3178e5611cee by Kristian Høgsberg on 11/01/2011 at 15:13..
Make border color a color from the color table
https://invent.kde.org/neon/backports-jammy/wayland/commit/71eca89356b27515777caf4d013e3178e5611cee

Git commit fb266a320714f6664d810137dabf67b1e7230275 by Kristian Høgsberg on 11/01/2011 at 15:15..
Only draw background if it's different from what's already there
https://invent.kde.org/neon/backports-jammy/wayland/commit/fb266a320714f6664d810137dabf67b1e7230275

Git commit 01994a596462efa2e5635b61de2facd34033f1f3 by Kristian Høgsberg on 11/01/2011 at 15:26..
Factor out decoding of character attributes
https://invent.kde.org/neon/backports-jammy/wayland/commit/01994a596462efa2e5635b61de2facd34033f1f3

Git commit 4f506707696ae9b1bc0a57abf2c2fd74a5e96268 by Kristian Høgsberg on 11/01/2011 at 15:33..
Use cairo_show_glyphs for rendering text

A small step for now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4f506707696ae9b1bc0a57abf2c2fd74a5e96268

Git commit 7ae6b1a27d84b7ff3b1fa36a03d333e3ffc15e26 by Kristian Høgsberg on 11/01/2011 at 15:38..
Hold on to the scaled fonts we use
https://invent.kde.org/neon/backports-jammy/wayland/commit/7ae6b1a27d84b7ff3b1fa36a03d333e3ffc15e26

Git commit 1d3e93922d8b4da49491a2d5913b10b8db82c8ff by Kristian Høgsberg on 11/01/2011 at 16:06..
Batch up drawing glyphs
https://invent.kde.org/neon/backports-jammy/wayland/commit/1d3e93922d8b4da49491a2d5913b10b8db82c8ff

Git commit 08c40c3550daa17738b78c3922fa94609638b13a by Kristian Høgsberg on 11/01/2011 at 18:48..
clients: Make poppler-glib optional

Just don't compile the view client.
https://invent.kde.org/neon/backports-jammy/wayland/commit/08c40c3550daa17738b78c3922fa94609638b13a

Git commit 67a201da6f11916463e97d01a53ae8df0cd29627 by Callum Lowcay on 12/01/2011 at 06:23..
terminal: Escape sequences with string parameters

Adjust escape parsing code to handle OSC, DSC, and other escape
sequences with string parameters.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/67a201da6f11916463e97d01a53ae8df0cd29627

Git commit 9acdb50084ecdba57017ddf818e8a79f6328af13 by Callum Lowcay on 12/01/2011 at 06:40..
Merge branch 'master' of git://anongit.freedesktop.org/wayland

Conflicts:
	clients/terminal.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/9acdb50084ecdba57017ddf818e8a79f6328af13

Git commit 9d708b07e4a87c5a7507bdcc0f71f055cd3eddcb by Callum Lowcay on 13/01/2011 at 07:30..
terminal: Fix bugs in attribute rendering

Fixed ignoring of concealed attribute, incorrect underline colour, and
glyph_run_flush not resetting the attribute.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/9d708b07e4a87c5a7507bdcc0f71f055cd3eddcb

Git commit ef57a9b78884e19f353b1b9173275de28c80157e by Callum Lowcay on 14/01/2011 at 07:51..
terminal: Window operations

Implement OSC 1 (set window title), and some basic CSI t window
operations.

Signed-off-by: Callum Lowcay <callum at callumscode.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/ef57a9b78884e19f353b1b9173275de28c80157e

Git commit ed64311b6c8cddb4e1183e5598a477c47ca82650 by Kristian Høgsberg on 14/01/2011 at 19:33..
Pick up input devices of type ID_INPUT_TABLET as well
https://invent.kde.org/neon/backports-jammy/wayland/commit/ed64311b6c8cddb4e1183e5598a477c47ca82650

Git commit 43db4015f98133687c62508180e0d8e0819bd911 by Kristian Høgsberg on 14/01/2011 at 19:45..
Split out evdev handling to its own file
https://invent.kde.org/neon/backports-jammy/wayland/commit/43db4015f98133687c62508180e0d8e0819bd911

Git commit 96c8be98a65621a4cceb8be93c2228ca0324c103 by Kristian Høgsberg on 14/01/2011 at 19:49..
Some kind of support for touchscreen
https://invent.kde.org/neon/backports-jammy/wayland/commit/96c8be98a65621a4cceb8be93c2228ca0324c103

Git commit e4762a6ac1801ab1887c56e0051fa6335ba50ae2 by Kristian Høgsberg on 14/01/2011 at 19:59..
Move tty and vt handling out in its own file
https://invent.kde.org/neon/backports-jammy/wayland/commit/e4762a6ac1801ab1887c56e0051fa6335ba50ae2

Git commit 8525a5036243212987b48eaf354d921e1d3e528a by Kristian Høgsberg on 14/01/2011 at 21:20..
Move buffer creation and buffer details into drm.c and shm.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/8525a5036243212987b48eaf354d921e1d3e528a

Git commit c5d6be95304ff89db452ac48444be978bb2aa116 by Kristian Høgsberg on 14/01/2011 at 21:22..
Remove unused visual argument to wlsc_surface_create()
https://invent.kde.org/neon/backports-jammy/wayland/commit/c5d6be95304ff89db452ac48444be978bb2aa116

Git commit a9410223720329a90d1b41de2fbb6e5b1e53f5c5 by Kristian Høgsberg on 14/01/2011 at 22:39..
Make it possible to enable/disable the various compositors from configure
https://invent.kde.org/neon/backports-jammy/wayland/commit/a9410223720329a90d1b41de2fbb6e5b1e53f5c5

Git commit 1101b63d49db538916e9e6521b6fdf08542623f3 by Kristian Høgsberg on 14/01/2011 at 22:39..
Both internalFormat and format should be GL_BGRA_EXT
https://invent.kde.org/neon/backports-jammy/wayland/commit/1101b63d49db538916e9e6521b6fdf08542623f3

Git commit d711d0cd662f0a3160b56a0a46079ca95308231a by Kristian Høgsberg on 14/01/2011 at 22:39..
Check for GL_EXT_texture_format_BGRA8888
https://invent.kde.org/neon/backports-jammy/wayland/commit/d711d0cd662f0a3160b56a0a46079ca95308231a

Git commit 8def2642417740cac46cb6c9cca957239865dd97 by Kristian Høgsberg on 14/01/2011 at 22:42..
Check for cairo-egl instead of just cairo-gl
https://invent.kde.org/neon/backports-jammy/wayland/commit/8def2642417740cac46cb6c9cca957239865dd97

Git commit ac4326884b181a4da9491f371be61f181e0a9115 by Benjamin Franzke on 14/01/2011 at 23:40..
connection: Write before reading connection data
https://invent.kde.org/neon/backports-jammy/wayland/commit/ac4326884b181a4da9491f371be61f181e0a9115

Git commit aabdce027f7cd9af41a20a9574b3529a337c49d0 by Benjamin Franzke on 14/01/2011 at 23:44..
Add a simple client
https://invent.kde.org/neon/backports-jammy/wayland/commit/aabdce027f7cd9af41a20a9574b3529a337c49d0

Git commit be63ae5a2c3516e35f17b33bda41df3d09d661eb by Kristian Høgsberg on 15/01/2011 at 00:13..
Merge remote branch 'bnf/simple_client'
https://invent.kde.org/neon/backports-jammy/wayland/commit/be63ae5a2c3516e35f17b33bda41df3d09d661eb

Git commit a1015b9e8c135820080549006c61a8450aca688f by Kristian Høgsberg on 15/01/2011 at 01:38..
Link simple-client against libGLESv2.so, not full GL
https://invent.kde.org/neon/backports-jammy/wayland/commit/a1015b9e8c135820080549006c61a8450aca688f

Git commit 1a11fac8fa7503e3c32c4cf94b81721cb644ee02 by Kristian Høgsberg on 15/01/2011 at 01:39..
simple-client: Create GLES2 context
https://invent.kde.org/neon/backports-jammy/wayland/commit/1a11fac8fa7503e3c32c4cf94b81721cb644ee02

Git commit ad67af1bcc6537dc46bc4fd0c5cd15bf0b664b57 by Kristian Høgsberg on 15/01/2011 at 01:45..
simple-client: Remove unnecessary flush
https://invent.kde.org/neon/backports-jammy/wayland/commit/ad67af1bcc6537dc46bc4fd0c5cd15bf0b664b57

Git commit ecfb2b93f3f0a9bd79b4155acf5e8c6efc5516df by Kristian Høgsberg (on behalf of Benjamin Franzke) on 17/01/2011 at 02:09..
compositor-wayland: Assign func pointers pre init
https://invent.kde.org/neon/backports-jammy/wayland/commit/ecfb2b93f3f0a9bd79b4155acf5e8c6efc5516df

Git commit d3b023ed7dbd7f2a5464121bce1ba184ee747744 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 17/01/2011 at 02:09..
compositor: Attach only valid background buffers

If a background is not found,
create_buffer_from_png will return NULL.
Do not attach these buffers.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d3b023ed7dbd7f2a5464121bce1ba184ee747744

Git commit 25f0ba4be1c8b12e3cac1a2bdd4bf021dd8d413c by Kristian Høgsberg (on behalf of Benjamin Franzke) on 17/01/2011 at 02:09..
clients/Makefile: Add AM_CPPFLAGS to view's CPPFLAGS
https://invent.kde.org/neon/backports-jammy/wayland/commit/25f0ba4be1c8b12e3cac1a2bdd4bf021dd8d413c

Git commit 4cca34934998eae779e0f2b33d751759407b51e4 by Kristian Høgsberg on 18/01/2011 at 12:53..
Split shell object out from compositor.c into its own file
https://invent.kde.org/neon/backports-jammy/wayland/commit/4cca34934998eae779e0f2b33d751759407b51e4

Git commit ae6c8a6d731b3543bdea0f40757206908d75d6f4 by Kristian Høgsberg on 19/01/2011 at 19:25..
First attempt at selection support
https://invent.kde.org/neon/backports-jammy/wayland/commit/ae6c8a6d731b3543bdea0f40757206908d75d6f4

Git commit b46df05fa82578a24949a63909d23c650af92305 by Kristian Høgsberg on 19/01/2011 at 19:25..
window: Add a catch-all global handler hook
https://invent.kde.org/neon/backports-jammy/wayland/commit/b46df05fa82578a24949a63909d23c650af92305

Git commit 943741cb40a5e2691c5a95a8c253dee69f0c86b0 by Kristian Høgsberg on 19/01/2011 at 19:25..
Use the global handler in dnd instead of custom drag_offer hook
https://invent.kde.org/neon/backports-jammy/wayland/commit/943741cb40a5e2691c5a95a8c253dee69f0c86b0

Git commit 65772ce18b0e28e8282883edf5ac4c02b11c33bd by Kristian Høgsberg on 19/01/2011 at 19:25..
Use different closures for sending and receiving

Otherwise we can end up overwriting data in the receive buffer as we
try to send it.
https://invent.kde.org/neon/backports-jammy/wayland/commit/65772ce18b0e28e8282883edf5ac4c02b11c33bd

Git commit 5029a13283d5b9d4ec25302a9c3841e426dcb3c0 by Kristian Høgsberg on 19/01/2011 at 19:25..
Put the fd in the closure so debugging can print it
https://invent.kde.org/neon/backports-jammy/wayland/commit/5029a13283d5b9d4ec25302a9c3841e426dcb3c0

Git commit 67cac8a565c3e03567372666c7e83796c6a23114 by Kristian Høgsberg on 19/01/2011 at 19:25..
Pass input device and time in key_handler callback

Move the modifiers to a input device getter function.
https://invent.kde.org/neon/backports-jammy/wayland/commit/67cac8a565c3e03567372666c7e83796c6a23114

Git commit 58eec36f680ce7ba3e71db88350c4828724b779d by Kristian Høgsberg on 19/01/2011 at 19:27..
Add proof-of-concept selection support to terminal

Next will be to support mouse selections so we can copy and paste
something more interesting than just 'selection data'.
https://invent.kde.org/neon/backports-jammy/wayland/commit/58eec36f680ce7ba3e71db88350c4828724b779d

Git commit 23c03ad9816ed43844408216d3a406ecf02913ce by Kristian Høgsberg on 19/01/2011 at 19:41..
Use libxkbcommon #defines for modifiers
https://invent.kde.org/neon/backports-jammy/wayland/commit/23c03ad9816ed43844408216d3a406ecf02913ce

Git commit 5982658d62902e7a7ef845e499b42e8ba3510270 by Kristian Høgsberg on 20/01/2011 at 16:56..
Render selection
https://invent.kde.org/neon/backports-jammy/wayland/commit/5982658d62902e7a7ef845e499b42e8ba3510270

Git commit f39a9ccbb32f10d193742b98986d1d2327e9a3fe by Kristian Høgsberg on 20/01/2011 at 17:37..
Use cairo_push_group() for double buffering in the terminal

Slightly different version of the patch from twied.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f39a9ccbb32f10d193742b98986d1d2327e9a3fe

Git commit e164e4ef722433b87c98f32a39e93dbd55b2231f by Kristian Høgsberg on 21/01/2011 at 16:35..
Use cairo_push_group() for all double buffering, drop window_copy_*()
https://invent.kde.org/neon/backports-jammy/wayland/commit/e164e4ef722433b87c98f32a39e93dbd55b2231f

Git commit 31cce0533faa1032f065d730cab3dd1c4fa31d81 by Kristian Høgsberg on 21/01/2011 at 20:18..
Actually send selected text when pasting
https://invent.kde.org/neon/backports-jammy/wayland/commit/31cce0533faa1032f065d730cab3dd1c4fa31d81

Git commit 6bccebee2334aae4926cb17f479ce51a2d6a4574 by Kristian Høgsberg on 21/01/2011 at 21:26..
terminal: Just send the pty master fd to receive the selection.

LOL!!1
https://invent.kde.org/neon/backports-jammy/wayland/commit/6bccebee2334aae4926cb17f479ce51a2d6a4574

Git commit dd4046ae5602c12f832c9e84d77c6532e197eed5 by Kristian Høgsberg on 21/01/2011 at 22:11..
Take away pointer focus during server grabs

This lets the client restore the pointer image when the grab ends.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dd4046ae5602c12f832c9e84d77c6532e197eed5

Git commit d86a6bc96fd43037fd81cbd66257cb626571fb10 by Kristian Høgsberg on 21/01/2011 at 22:12..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/d86a6bc96fd43037fd81cbd66257cb626571fb10

Git commit 6eeeb30021a9f72636887a529bb5772930cd190e by Callum Lowcay on 21/01/2011 at 23:00..
Merge branch 'master' of git://anongit.freedesktop.org/wayland

Conflicts:
	clients/window.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/6eeeb30021a9f72636887a529bb5772930cd190e

Git commit 8dc378ff768e47858c34ae6e347ae3bac736d613 by Kristian Høgsberg on 21/01/2011 at 23:02..
Add new surface.map_transient() request to map a surface relative to another
https://invent.kde.org/neon/backports-jammy/wayland/commit/8dc378ff768e47858c34ae6e347ae3bac736d613

Git commit 248c1b61ce31ed01946e816b1f90f6c9f7685541 by Kristian Høgsberg on 21/01/2011 at 23:03..
Add an orange pop-up menu to test the new map_transient request
https://invent.kde.org/neon/backports-jammy/wayland/commit/248c1b61ce31ed01946e816b1f90f6c9f7685541

Git commit 027931bd33e6bda30a701be5dd1c33f01bb8b038 by Kristian Høgsberg on 22/01/2011 at 02:57..
Define the shell resize enumeration in the xml spec
https://invent.kde.org/neon/backports-jammy/wayland/commit/027931bd33e6bda30a701be5dd1c33f01bb8b038

Git commit 7f075499ead048b3d72e7ec700c775ad11d71b13 by Kristian Høgsberg on 22/01/2011 at 03:01..
Update TODO again
https://invent.kde.org/neon/backports-jammy/wayland/commit/7f075499ead048b3d72e7ec700c775ad11d71b13

Git commit a495333d4fe36b3f983fc90bf9a0f9d53363b211 by Kristian Høgsberg on 22/01/2011 at 03:17..
Remove unused bits of cairo code
https://invent.kde.org/neon/backports-jammy/wayland/commit/a495333d4fe36b3f983fc90bf9a0f9d53363b211

Git commit 0cd8f6ededd14fed8af84c821999c5cf7941b818 by Kristian Høgsberg on 22/01/2011 at 03:19..
Drive-by optimization of blur_surface()
https://invent.kde.org/neon/backports-jammy/wayland/commit/0cd8f6ededd14fed8af84c821999c5cf7941b818

Git commit 0f62aed1a1118c6817bd0544403567a104afef53 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 18:28..
Guard enums in generated wayland-*-protocol.h

(krh: edit #define guard to use WL_ prefix)
https://invent.kde.org/neon/backports-jammy/wayland/commit/0f62aed1a1118c6817bd0544403567a104afef53

Git commit 6fea3dc5ced1737d644a2b657c93442f401cdcb6 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 23/01/2011 at 18:32..
display_iterate: Process only enabled event masks

(krh: Added warning for this unintended usage)
https://invent.kde.org/neon/backports-jammy/wayland/commit/6fea3dc5ced1737d644a2b657c93442f401cdcb6

Git commit 7d498b4f1a4669e916090483a91481b1b9a97f4a by Kristian Høgsberg on 23/01/2011 at 18:50..
Enable all compositors by default
https://invent.kde.org/neon/backports-jammy/wayland/commit/7d498b4f1a4669e916090483a91481b1b9a97f4a

Git commit 2a332dd62ec67b5feb6a282118b132c39c36d39f by Kristian Høgsberg (on behalf of Benjamin Franzke) on 23/01/2011 at 18:55..
compositor/shm: use internalFormat=GL_BGRA_EXT in TexImage2D
https://invent.kde.org/neon/backports-jammy/wayland/commit/2a332dd62ec67b5feb6a282118b132c39c36d39f

Git commit 762e5c25d6be89f1cb6d6ffc93040ece6d08e537 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 18:58..
add clients to .gitignore
https://invent.kde.org/neon/backports-jammy/wayland/commit/762e5c25d6be89f1cb6d6ffc93040ece6d08e537

Git commit 8a6f7e313966c4f6d71d1da5539c7b2506a91998 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 18:58..
compositor crashes if window width or height is <= 0
https://invent.kde.org/neon/backports-jammy/wayland/commit/8a6f7e313966c4f6d71d1da5539c7b2506a91998

Git commit b0ae49e3158c2c5885caa0409c49d4e0cee25876 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 18:58..
remove unused function in clients/smoke.c, silence warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/b0ae49e3158c2c5885caa0409c49d4e0cee25876

Git commit dc3f817538db4566f1928680156936ecbbd485d1 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 18:58..
remove declaration without definition from window.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/dc3f817538db4566f1928680156936ecbbd485d1

Git commit b6761dc29441025ed54b1c0035f2d2de903c32ae by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 18:59..
fix resizing at top/left border
https://invent.kde.org/neon/backports-jammy/wayland/commit/b6761dc29441025ed54b1c0035f2d2de903c32ae

Git commit f71accc5b8b76281adff0edd98e3bceef02c660d by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 19:00..
close terminal window on exit
https://invent.kde.org/neon/backports-jammy/wayland/commit/f71accc5b8b76281adff0edd98e3bceef02c660d

Git commit 503ccca5c82248b648551db8b58466ad56497552 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 19:04..
document the usage of libtoytoolkit

(krh: edited to follow window_create() API changes)
https://invent.kde.org/neon/backports-jammy/wayland/commit/503ccca5c82248b648551db8b58466ad56497552

Git commit 7c427a9481ac3e288b0490653cb3db7c44eeaf6d by Kristian Høgsberg (on behalf of Benjamin Franzke) on 23/01/2011 at 19:25..
compositor-wayland: Remove unused variable
https://invent.kde.org/neon/backports-jammy/wayland/commit/7c427a9481ac3e288b0490653cb3db7c44eeaf6d

Git commit eae5569558eefa506e55b4a577f114b4425f0d4e by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 22:58..
remove unused variable
https://invent.kde.org/neon/backports-jammy/wayland/commit/eae5569558eefa506e55b4a577f114b4425f0d4e

Git commit 748f672b2c294fbf5fe496256cfb59e7a19c99ea by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 22:58..
free option context
https://invent.kde.org/neon/backports-jammy/wayland/commit/748f672b2c294fbf5fe496256cfb59e7a19c99ea

Git commit 81bd979835fbf035f2d46907a4a68ebcd5361a7c by Kristian Høgsberg (on behalf of Tim Wiederhake) on 23/01/2011 at 22:58..
initialise display

fixes valgrind:
==25178== Conditional jump or move depends on uninitialised value(s)
==25178==    at 0x409E2C: display_create (window.c:1582)
==25178==    by 0x407A43: main (terminal.c:2323)
and
==13793== Conditional jump or move depends on uninitialised value(s)
==13793==    at 0x40A2D1: display_handle_global (window.c:1504)
==13793==    by 0x4E2C183: display_handle_global (wayland-client.c:281)
==13793==    by 0x713FEE7: ffi_call_unix64 (in /usr/lib/libffi.so.5.0.10)
==13793==    by 0x713FC83: ffi_call (in /usr/lib/libffi.so.5.0.10)
==13793==    by 0x4E2C71A: wl_closure_invoke (connection.c:663)
==13793==    by 0x4E2BB7B: wl_display_iterate (wayland-client.c:484)
==13793==    by 0x4096CA: display_create (window.c:1664)
==13793==    by 0x407A43: main (terminal.c:2321)
https://invent.kde.org/neon/backports-jammy/wayland/commit/81bd979835fbf035f2d46907a4a68ebcd5361a7c

Git commit 238515d3d7e0d824d660b3da4f1ac98eeff4a4b8 by Kristian Høgsberg (on behalf of Darxus) on 23/01/2011 at 23:38..
Add specific versions to build dependencies
https://invent.kde.org/neon/backports-jammy/wayland/commit/238515d3d7e0d824d660b3da4f1ac98eeff4a4b8

Git commit 7d9517855ab5d7acfda262c6e960ab96b7ce6b9c by nobled on 24/01/2011 at 16:01..
fix includes
https://invent.kde.org/neon/backports-jammy/wayland/commit/7d9517855ab5d7acfda262c6e960ab96b7ce6b9c

Git commit 0428a9a15c58c14963a1a0eec245aa75389ebfe4 by nobled on 24/01/2011 at 16:27..
don't use deprecated INCLUDES variable
https://invent.kde.org/neon/backports-jammy/wayland/commit/0428a9a15c58c14963a1a0eec245aa75389ebfe4

Git commit 70af98c57614307a427843b2f0bd6d99ed187c58 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 13:37..
fix tty_destroy

fixes segfault when active tty could not be opened
fixes copy-paste mistake.
https://invent.kde.org/neon/backports-jammy/wayland/commit/70af98c57614307a427843b2f0bd6d99ed187c58

Git commit 4d6ff297c809be5330f693810cf8e5bac61b238d by Kristian Høgsberg on 25/01/2011 at 15:17..
Merge remote branch 'nobled/for-krh'
https://invent.kde.org/neon/backports-jammy/wayland/commit/4d6ff297c809be5330f693810cf8e5bac61b238d

Git commit 6ec41abf72ab04f562cb91d7c44b734c2f184b65 by Kristian Høgsberg on 25/01/2011 at 15:40..
Merge remote branch 'callum/master'

Conflicts:
	clients/window.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/6ec41abf72ab04f562cb91d7c44b734c2f184b65

Git commit 734a7501b6ebf80db8d4e1f64ec7227066d7d0eb by Kristian Høgsberg on 25/01/2011 at 17:44..
Remove frame handler prototype

I messed up the merge.
https://invent.kde.org/neon/backports-jammy/wayland/commit/734a7501b6ebf80db8d4e1f64ec7227066d7d0eb

Git commit d5fb9cc769f6e3b2b29727e0bec523ac95b4affc by Kristian Høgsberg on 25/01/2011 at 17:45..
window.c: Make title not const

We now strdup it.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d5fb9cc769f6e3b2b29727e0bec523ac95b4affc

Git commit c4df99cb2c573d5b1ed1cadbcb8c92a1a39ba694 by Kristian Høgsberg (on behalf of Darxus at chaosreigns.com) on 25/01/2011 at 20:05..
Replace gdk_pixbuf_unref with g_object_unref

Because gdk_pixbuf_unref is deprecated and for compatability with
gdk-pixbuf 2.21.4.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c4df99cb2c573d5b1ed1cadbcb8c92a1a39ba694

Git commit 8335568d070bfbde0f72e8129842222e8260bf07 by Kristian Høgsberg on 25/01/2011 at 20:11..
Don't compare socket(2) to NULL

Ugh, embarassing.  Thanks, gcc 4.6.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8335568d070bfbde0f72e8129842222e8260bf07

Git commit 00439617f395742432f08d5fe1563c2fc2b1439a by Kristian Høgsberg on 25/01/2011 at 20:16..
Fix new gcc 4.6 warnings

simple-client.c:156:10: warning: variable ‘ar’ set but not used [-Wunused-but-set-variable]

etc.
https://invent.kde.org/neon/backports-jammy/wayland/commit/00439617f395742432f08d5fe1563c2fc2b1439a

Git commit 1afc9a98fa918764167015d96ee2a730cb123715 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 21:29..
clients/view: Do not browse outside document range
https://invent.kde.org/neon/backports-jammy/wayland/commit/1afc9a98fa918764167015d96ee2a730cb123715

Git commit 7e182ef13b20e84fdf44bcf527f997853df27891 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 21:29..
clients/view: Remove unnecessary variables
https://invent.kde.org/neon/backports-jammy/wayland/commit/7e182ef13b20e84fdf44bcf527f997853df27891

Git commit 655467a5d264ba43550f9196f8cbcb86730dda63 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 21:32..
clients/view: Add mousewheel and arrow keys
https://invent.kde.org/neon/backports-jammy/wayland/commit/655467a5d264ba43550f9196f8cbcb86730dda63

Git commit 9aad08e91bf41214bea9ecd25a5a2aaac7ae3de2 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 21:33..
clients/view: Allow relative paths
https://invent.kde.org/neon/backports-jammy/wayland/commit/9aad08e91bf41214bea9ecd25a5a2aaac7ae3de2

Git commit 6685aceae3895dca1fae4e40a6d19e0985a0f77c by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 21:33..
clients/view: Don't try to show inexistant files
https://invent.kde.org/neon/backports-jammy/wayland/commit/6685aceae3895dca1fae4e40a6d19e0985a0f77c

Git commit 80bf6f78e4bd8b5fd90dcd0f672e88381e19c313 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 21:33..
clients/view: Fix memory leak
https://invent.kde.org/neon/backports-jammy/wayland/commit/80bf6f78e4bd8b5fd90dcd0f672e88381e19c313

Git commit 640924f37af98d9ff2bdb5f70d8c05d4c9343b7c by Kristian Høgsberg on 25/01/2011 at 21:38..
Add gio for view fixes
https://invent.kde.org/neon/backports-jammy/wayland/commit/640924f37af98d9ff2bdb5f70d8c05d4c9343b7c

Git commit 0fe0eb330c060451b81d87e830ba0f971f2fb093 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 25/01/2011 at 21:42..
Screenshots were upside down
https://invent.kde.org/neon/backports-jammy/wayland/commit/0fe0eb330c060451b81d87e830ba0f971f2fb093

Git commit f9edadf3f2b1ddb138a7ad47a2a80d47ba6605de by Kristian Høgsberg on 26/01/2011 at 16:46..
shm: Check width, height and stride for invalid values
https://invent.kde.org/neon/backports-jammy/wayland/commit/f9edadf3f2b1ddb138a7ad47a2a80d47ba6605de

Git commit f03b6c76947c9ed804a2db2b14b3f7d2f7c4ed21 by Kristian Høgsberg on 26/01/2011 at 16:46..
connection: Also consume message data in error cases
https://invent.kde.org/neon/backports-jammy/wayland/commit/f03b6c76947c9ed804a2db2b14b3f7d2f7c4ed21

Git commit 24ed62138869e8d510f374445c0f9bc644594142 by Kristian Høgsberg on 26/01/2011 at 19:02..
Set WM_CLASS for X11 compositor window

Don't want to be 'Unknown' in GNOME Shell.
https://invent.kde.org/neon/backports-jammy/wayland/commit/24ed62138869e8d510f374445c0f9bc644594142

Git commit f58d8ca1bd20180bfae3a3a047e8098e0b22b5aa by Kristian Høgsberg on 26/01/2011 at 19:37..
compositor-x11: Set window icon
https://invent.kde.org/neon/backports-jammy/wayland/commit/f58d8ca1bd20180bfae3a3a047e8098e0b22b5aa

Git commit 26ef22e3f479259890bf856a66a8a5fbf6fc7d30 by Kristian Høgsberg on 26/01/2011 at 20:33..
Test for rsvg-convert in configure.ac

If it's not present, we just don't install the icon.
https://invent.kde.org/neon/backports-jammy/wayland/commit/26ef22e3f479259890bf856a66a8a5fbf6fc7d30

Git commit 93331ff40a6caba997b84af784024d5e9256c2e5 by Kristian Høgsberg on 27/01/2011 at 01:35..
compositor: Forward pointer focus notification from compostor backend

This lets the compositor place the pointer sprite correctly when it receives
pointer focus and allows it to send pointer focus to any client that might
receive pointer focus as the compositor receives it.
https://invent.kde.org/neon/backports-jammy/wayland/commit/93331ff40a6caba997b84af784024d5e9256c2e5

Git commit ac5c5e78533d093d9f790564bea114194a387c3a by Kristian Høgsberg (on behalf of Tim Wiederhake) on 27/01/2011 at 01:36..
Don't create buffer from NULL pointer

Fixes regression introduced in f58d8ca1bd20180bfae3a3a047e8098e0b22b5aa.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ac5c5e78533d093d9f790564bea114194a387c3a

Git commit 3ba4858c4b62a5d253bd757944ceccae3764d6ce by Kristian Høgsberg on 27/01/2011 at 16:57..
compositor-x11: Handle keyboard focus correctly so we avoid stuck modifiers
https://invent.kde.org/neon/backports-jammy/wayland/commit/3ba4858c4b62a5d253bd757944ceccae3764d6ce

Git commit af82bea253b70ce84bc11cd1e93fef5f7d6f89d1 by Kristian Høgsberg on 28/01/2011 at 01:18..
compositor-wayland: Handle keyboard focus too
https://invent.kde.org/neon/backports-jammy/wayland/commit/af82bea253b70ce84bc11cd1e93fef5f7d6f89d1

Git commit 48f975d7c574927befee4f27d2c93f43a78585cf by nobled on 28/01/2011 at 13:47..
fix configure check for gcc

This shouldn't fail just because someone sets CC=gcc-4.5
explicitly. Besides, this way it also works with compilers
that advertise GCC-compatibility like clang and ICC.
https://invent.kde.org/neon/backports-jammy/wayland/commit/48f975d7c574927befee4f27d2c93f43a78585cf

Git commit 844625834d92d575ab6bf8560c5a18b7b2ab92c9 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 28/01/2011 at 15:09..
configure: Drop gdk-pixbuf version dependency

The major version 2.0 is sufficient
https://invent.kde.org/neon/backports-jammy/wayland/commit/844625834d92d575ab6bf8560c5a18b7b2ab92c9

Git commit 5e4d83f499c218d09917f90dddb2d9348552c4b3 by Kristian Høgsberg on 28/01/2011 at 16:21..
Merge remote branch 'nobled/for-krh'
https://invent.kde.org/neon/backports-jammy/wayland/commit/5e4d83f499c218d09917f90dddb2d9348552c4b3

Git commit 0ce245761c85e989f08e4136bd91b149156e82e0 by Kristian Høgsberg on 28/01/2011 at 20:18..
Add initial basic support for fullscreen surfaces
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ce245761c85e989f08e4136bd91b149156e82e0

Git commit f992b2fc47c44c53a3b8f2c2d823d9d3961df7ad by Kristian Høgsberg on 28/01/2011 at 20:53..
Don't crash when the previous keyboard surface goes away

Just always set keyboard focus to the top surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f992b2fc47c44c53a3b8f2c2d823d9d3961df7ad

Git commit 4b8bd1f731f3ec53a01911b89751412599dd1b94 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 31/01/2011 at 01:54..
Add wayland.png to .gitignore
https://invent.kde.org/neon/backports-jammy/wayland/commit/4b8bd1f731f3ec53a01911b89751412599dd1b94

Git commit 5312f21af6b7066ed4d9c09c8192fe147bf49cc2 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 31/01/2011 at 01:56..
Fix out of source build [wayland.png]
https://invent.kde.org/neon/backports-jammy/wayland/commit/5312f21af6b7066ed4d9c09c8192fe147bf49cc2

Git commit 3f9f73f33e39969c19f185177f4212c90eb68bbc by Kristian Høgsberg (on behalf of Benjamin Franzke) on 31/01/2011 at 01:56..
connection: Handle broken pipes in sendmsg
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f9f73f33e39969c19f185177f4212c90eb68bbc

Git commit 14d222f61280fae68c10d1833607f31495137590 by nobled on 01/02/2011 at 18:48..
add newlines in error messages
https://invent.kde.org/neon/backports-jammy/wayland/commit/14d222f61280fae68c10d1833607f31495137590

Git commit 7b87cb04a953dd598664e74c15209e13b868c3be by nobled on 01/02/2011 at 18:51..
window: add null checks

Also check for invalid parameters early on, so if we crash,
we know *why* we crashed.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7b87cb04a953dd598664e74c15209e13b868c3be

Git commit 5a2218aa15fa3be7d7e9e97ee9787923c3b61265 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 02/02/2011 at 01:19..
compositor: Calculate resizing direction

This applies to resizes initiated by the compositor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5a2218aa15fa3be7d7e9e97ee9787923c3b61265

Git commit 181f52ea96afed2ebeaf8dc9c1fb793b7064f39e by Kristian Høgsberg on 02/02/2011 at 01:28..
Update compositor initiated resize to use a 3x3 grid

This lets us do all combinations of resize edges.
https://invent.kde.org/neon/backports-jammy/wayland/commit/181f52ea96afed2ebeaf8dc9c1fb793b7064f39e

Git commit 66cea0ad25258aec862d311302dba8254533e301 by Benjamin Franzke on 07/02/2011 at 13:05..
Add wayland-egl.h

This header defines native EGL wayland types and affiliated
initialization, processing and destruction routines.
EGL implementations must implement this API in order to allow
applications using this native types for the EGL implementation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/66cea0ad25258aec862d311302dba8254533e301

Git commit 297c6313eb6763a2b0a10059d65d0af62903f658 by Kristian Høgsberg on 07/02/2011 at 14:12..
Port window.c to use wayland-egl
https://invent.kde.org/neon/backports-jammy/wayland/commit/297c6313eb6763a2b0a10059d65d0af62903f658

Git commit f57a96f98d851ca5dd5e51b66fa2fcb3c8492dac by Kristian Høgsberg on 07/02/2011 at 14:12..
gears: Remove unused drm_fd field
https://invent.kde.org/neon/backports-jammy/wayland/commit/f57a96f98d851ca5dd5e51b66fa2fcb3c8492dac

Git commit a495a5ed8ba1297d0ed6464f4c0e2784d455c751 by Kristian Høgsberg on 07/02/2011 at 14:12..
simple-client: Port to wayland-egl and use eglSwapBuffers()

simple-client is simpler.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a495a5ed8ba1297d0ed6464f4c0e2784d455c751

Git commit f30c67eea63e04995a79b8ff7056de0975bad80d by Kristian Høgsberg on 07/02/2011 at 14:12..
compositor: Set repaint_on_timeout when we schedule a timeout repaint
https://invent.kde.org/neon/backports-jammy/wayland/commit/f30c67eea63e04995a79b8ff7056de0975bad80d

Git commit c9824ddf3524fd329e7de8870a20d62e673d3a4e by Kristian Høgsberg on 07/02/2011 at 14:12..
compositor: Implement super-tab window switching
https://invent.kde.org/neon/backports-jammy/wayland/commit/c9824ddf3524fd329e7de8870a20d62e673d3a4e

Git commit bfb8e61381794c7d91a90e71f0f1a6e9039159a2 by Kristian Høgsberg on 07/02/2011 at 15:30..
Follow wayland-egl renames
https://invent.kde.org/neon/backports-jammy/wayland/commit/bfb8e61381794c7d91a90e71f0f1a6e9039159a2

Git commit 0bbb97bab140bc0eab425ed5f40286e1ae168d71 by Kristian Høgsberg on 07/02/2011 at 21:05..
Print object interface name when printing message arguments in debug mode
https://invent.kde.org/neon/backports-jammy/wayland/commit/0bbb97bab140bc0eab425ed5f40286e1ae168d71

Git commit 3eff366911eb87c1d7c4cdcceb0fd52c218bd2bc by Kristian Høgsberg on 08/02/2011 at 01:48..
Add struct wl_egl_display argument to wl_egl_window_create

We don't need it in the mesa implementation, but other implementations
might and it's symmetric with wl_egl_pixmap_create().
https://invent.kde.org/neon/backports-jammy/wayland/commit/3eff366911eb87c1d7c4cdcceb0fd52c218bd2bc

Git commit 2dfe626f4ee5427f6a1c79d0c996e4e3fe3b0072 by Kristian Høgsberg on 08/02/2011 at 17:00..
compositor-x11: Don't send enter/leave notify if we have an implicit grab
https://invent.kde.org/neon/backports-jammy/wayland/commit/2dfe626f4ee5427f6a1c79d0c996e4e3fe3b0072

Git commit 43c63e59a722a7dd2c7deab036fe840c483ccac3 by Kristian Høgsberg on 09/02/2011 at 15:50..
wayland-egl: Define WL_EGL_PLATFORM in wayland-egl.h

This indicates that we're using the wayland egl platform and will make
eglplatform.h typedef the native types correctly.
https://invent.kde.org/neon/backports-jammy/wayland/commit/43c63e59a722a7dd2c7deab036fe840c483ccac3

Git commit 297d6dd4423611722d119d9e81970d2e8a600fd0 by Kristian Høgsberg on 09/02/2011 at 15:51..
window.c: Include wayland-egl.h before EGL headers so we get the right platform
https://invent.kde.org/neon/backports-jammy/wayland/commit/297d6dd4423611722d119d9e81970d2e8a600fd0

Git commit 0d5007a76fadc5fe99f00fdaf26c3d6ef7fc12a1 by Kristian Høgsberg on 09/02/2011 at 15:57..
window.c: Use eglGetProcAddress to look up extension functions
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d5007a76fadc5fe99f00fdaf26c3d6ef7fc12a1

Git commit 52f2264b693442f80d1d560fb3fcec1d08f3c303 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 10/02/2011 at 15:04..
configure: remove libdrm dependency for clients

Signed-off-by: Tiago Vignatti <tiago.vignatti at nokia.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/52f2264b693442f80d1d560fb3fcec1d08f3c303

Git commit 48e29895942be00d391cee484ffa8f7fc4ce4c1c by Kristian Høgsberg on 10/02/2011 at 17:27..
wayland-client: Support WAYLAND_DEBUG client side as well
https://invent.kde.org/neon/backports-jammy/wayland/commit/48e29895942be00d391cee484ffa8f7fc4ce4c1c

Git commit 9c7a8cc663cb7887ba9b4499ae6e421ee6d6fef1 by Kristian Høgsberg (on behalf of Tim Wiederhake) on 11/02/2011 at 18:44..
fix typo in window.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/9c7a8cc663cb7887ba9b4499ae6e421ee6d6fef1

Git commit 31bd6c7ab10d4523684fa45f353b10e92f1187f4 by Kristian Høgsberg on 13/02/2011 at 18:26..
Use pixman regions to reduce repainting

For now, we just use glScissor and clip to the extent of the damage region,
but we can do even better by clipping the repaint to the region rectangles.
https://invent.kde.org/neon/backports-jammy/wayland/commit/31bd6c7ab10d4523684fa45f353b10e92f1187f4

Git commit fa4e2a76769bd17c2ddc19b664cbd00bf971dc9b by Kristian Høgsberg on 13/02/2011 at 18:45..
compositor: Switch away from using VBOs and just stream the vertex data

We avoid changing uniforms for each window and it will be easier to break up
a surface into a series of rectangles.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fa4e2a76769bd17c2ddc19b664cbd00bf971dc9b

Git commit feb370e4ea0bd49080b2d4ee198f190af1ad29ea by Kristian Høgsberg (on behalf of Benjamin Franzke) on 14/02/2011 at 13:28..
compositor-drm: Flush before pageflipping

This fixes compositor-drm flickering on r600.
https://invent.kde.org/neon/backports-jammy/wayland/commit/feb370e4ea0bd49080b2d4ee198f190af1ad29ea

Git commit 525e4c0beae832afc2c098c1368a19ad164e1b2b by Kristian Høgsberg on 14/02/2011 at 15:39..
compositor: Clip repaint to the damage region

Drop glScissor, and just clip the surface against the repaint region and
render each rectangle in the resulting region.
https://invent.kde.org/neon/backports-jammy/wayland/commit/525e4c0beae832afc2c098c1368a19ad164e1b2b

Git commit fcfb4e30a47a4cd2416dac210521594b489c8bfd by Kristian Høgsberg on 15/02/2011 at 03:21..
Split into a core repository that only holds the core Wayland libraries
https://invent.kde.org/neon/backports-jammy/wayland/commit/fcfb4e30a47a4cd2416dac210521594b489c8bfd

Git commit 9a2015562c29ddbb34a8b9d2e001ec12a660c28d by Kristian Høgsberg (on behalf of Liu, Xinyun) on 18/02/2011 at 13:40..
Several typo fixes in specs/main.tex
https://invent.kde.org/neon/backports-jammy/wayland/commit/9a2015562c29ddbb34a8b9d2e001ec12a660c28d

Git commit 9136e05ebdfaf82c87e7c4767f0fc9a12a470223 by Kristian Høgsberg on 18/02/2011 at 20:28..
Only allow one listener per proxy
https://invent.kde.org/neon/backports-jammy/wayland/commit/9136e05ebdfaf82c87e7c4767f0fc9a12a470223

Git commit 8105d2873cd24c3632a6f1263935d3461279b8de by Kristian Høgsberg (on behalf of Rico Tzschichholz) on 25/02/2011 at 13:43..
Add wayland-scanner.mk to EXTRA_DIST for make distcheck
https://invent.kde.org/neon/backports-jammy/wayland/commit/8105d2873cd24c3632a6f1263935d3461279b8de

Git commit b038d93abf9c448e4edcd98aa3d488186bde7586 by Benjamin Franzke on 28/02/2011 at 10:20..
protocol/wayland: Drop drm interface (move into mesa)
https://invent.kde.org/neon/backports-jammy/wayland/commit/b038d93abf9c448e4edcd98aa3d488186bde7586

Git commit 9061f91eb8252e1e414365df7e909093932235ac by Kristian Høgsberg on 01/03/2011 at 22:04..
Merge branch 'setup_display' of git://anongit.freedesktop.org/~bnf/wayland
https://invent.kde.org/neon/backports-jammy/wayland/commit/9061f91eb8252e1e414365df7e909093932235ac

Git commit c9a729260fd1397a625c98f7284b2f1f44a95081 by Kristian Høgsberg (on behalf of Iskren Chernev) on 13/03/2011 at 02:56..
Better cleanup on display creation failure.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c9a729260fd1397a625c98f7284b2f1f44a95081

Git commit fcd4caa0df0f69d48e5f5d00076927c31441c851 by Kristian Høgsberg (on behalf of Iskren Chernev) on 13/03/2011 at 02:56..
Better handling of creation errors in display.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fcd4caa0df0f69d48e5f5d00076927c31441c851

Git commit ecbad0341e32a824ee8a5feb7e639672b1284b2c by Kristian Høgsberg (on behalf of Iskren Chernev) on 13/03/2011 at 02:56..
Added wl_connection_create failure checks.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ecbad0341e32a824ee8a5feb7e639672b1284b2c

Git commit 5acf6b4b03a4cb06ef27f0f1055b60717af1c7eb by Kristian Høgsberg (on behalf of Iskren Chernev) on 13/03/2011 at 03:07..
Server socket creation error handling.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5acf6b4b03a4cb06ef27f0f1055b60717af1c7eb

Git commit 6d22c1bdc7720d70655d773a979e8d056be5baf1 by Kristian Høgsberg on 13/03/2011 at 03:09..
Fix double remove from surface destroy_listener_list

We remove the listener when a device loses its pointer focus, but
doesn't insert it in another destroy_listener list if surface is NULL.
When we set another pointer focus surface, we remove it again.
Tracked down and tested by Iskren Chernev.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6d22c1bdc7720d70655d773a979e8d056be5baf1

Git commit 0ae92f970650af8a53ba8fa8af92214360efe339 by Iskren Chernev on 14/03/2011 at 09:49..
Fix event loop timer update.

It can now handle delays greater than 2 seconds without overflowing.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ae92f970650af8a53ba8fa8af92214360efe339

Git commit 61ce8749a7e78a2b6bfc60fcc21c53b8c40b898b by Iskren Chernev on 14/03/2011 at 09:49..
Stored signal_number in event_source structure.

signal_number was not previously stored, so the callbacks didn't get
a correct signal_number as their first argument.
https://invent.kde.org/neon/backports-jammy/wayland/commit/61ce8749a7e78a2b6bfc60fcc21c53b8c40b898b

Git commit 1081bca2a802ef49d0f52d5613c50b016e0136cd by Iskren Chernev on 14/03/2011 at 09:55..
Close timer file descriptors in event loop on remove and failure.

When the timer is removed the corresponding fd is closed. This should
automatically remove it from the epoll set.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1081bca2a802ef49d0f52d5613c50b016e0136cd

Git commit 21e877f3f6ac0a5b88b69d0eb4850f962af3b4cb by Iskren Chernev on 14/03/2011 at 09:56..
Close signal file descriptor in event loop on remove and failure.

When the signal handler is removed the corresponding fd is closed. This
should automatically remove it from the epoll set.
https://invent.kde.org/neon/backports-jammy/wayland/commit/21e877f3f6ac0a5b88b69d0eb4850f962af3b4cb

Git commit 94fcdde0e25ffb737734e9a696814308bcb23576 by Benjamin Franzke on 16/03/2011 at 22:01..
Extent frame event to be surface dependent
https://invent.kde.org/neon/backports-jammy/wayland/commit/94fcdde0e25ffb737734e9a696814308bcb23576

Git commit 0b29a2fec7801d2530bd004ae68eb9242417bafd by Kristian Høgsberg (on behalf of Harald Fernengel) on 06/04/2011 at 13:42..
Fix usage help text in wayland-scanner
https://invent.kde.org/neon/backports-jammy/wayland/commit/0b29a2fec7801d2530bd004ae68eb9242417bafd

Git commit 4d33e802e0eaff8a4580371b6e2d30832c3c6bbd by Kristian Høgsberg on 11/04/2011 at 13:14..
Support passing the Wayland fd in the environment
https://invent.kde.org/neon/backports-jammy/wayland/commit/4d33e802e0eaff8a4580371b6e2d30832c3c6bbd

Git commit 8f081748f996b91cd49603f62f23d5617f2baf68 by Kristian Høgsberg on 11/04/2011 at 13:15..
Make wl_client_create() public
https://invent.kde.org/neon/backports-jammy/wayland/commit/8f081748f996b91cd49603f62f23d5617f2baf68

Git commit 7cfcdc610db4c5ef57ea282bff8b2a5406ac3662 by Kristian Høgsberg on 11/04/2011 at 13:24..
Make all fds close-on-exec
https://invent.kde.org/neon/backports-jammy/wayland/commit/7cfcdc610db4c5ef57ea282bff8b2a5406ac3662

Git commit 4378a80b083f6ad3c5a3eaadd6f55eb14740dbbf by Kristian Høgsberg on 11/04/2011 at 20:40..
Merge remote-tracking branch 'bnf/surface-frame-event'
https://invent.kde.org/neon/backports-jammy/wayland/commit/4378a80b083f6ad3c5a3eaadd6f55eb14740dbbf

Git commit f04e05ad76cd6af890b7b741a9e0f5181bd0ac10 by Kristian Høgsberg (on behalf of Jørgen Lind) on 13/04/2011 at 14:42..
Add lockfile to the socket

This uses flock to detect if there is a process that is active. If not
then it unlinks the socket file if it exists, so that bind won't fail
https://invent.kde.org/neon/backports-jammy/wayland/commit/f04e05ad76cd6af890b7b741a9e0f5181bd0ac10

Git commit 06c2ebf6ec60bacf89541f59a395f6c5c2e1edc0 by Kristian Høgsberg on 13/04/2011 at 20:27..
Move proxy prototype to wayland-client.h

Let's try to avoid to generate more code than we need to.
https://invent.kde.org/neon/backports-jammy/wayland/commit/06c2ebf6ec60bacf89541f59a395f6c5c2e1edc0

Git commit a0010d8f8260387e9edd27a9f3d466ac784c12de by Kristian Høgsberg on 13/04/2011 at 20:50..
Print line numbers in scanner errors
https://invent.kde.org/neon/backports-jammy/wayland/commit/a0010d8f8260387e9edd27a9f3d466ac784c12de

Git commit 320a5634cf7060b5db22a0519b0ddc532894eb3b by Kristian Høgsberg on 18/04/2011 at 14:24..
Introduce display.bind to request events from a global
https://invent.kde.org/neon/backports-jammy/wayland/commit/320a5634cf7060b5db22a0519b0ddc532894eb3b

Git commit 7e4f44e2ba3e0e58c0adb910687c9a334e84b243 by Kristian Høgsberg on 18/04/2011 at 14:24..
Use wl_client_post_global() for connect events
https://invent.kde.org/neon/backports-jammy/wayland/commit/7e4f44e2ba3e0e58c0adb910687c9a334e84b243

Git commit c5ec478d46a8fc8590002fe156df875da2b5b143 by Kristian Høgsberg on 20/04/2011 at 21:19..
scanner: Don't hardcode the wl_ prefix in the code generator
https://invent.kde.org/neon/backports-jammy/wayland/commit/c5ec478d46a8fc8590002fe156df875da2b5b143

Git commit 13ca93794405965cac8d3e3173f3f4eda2ff28c6 by Kristian Høgsberg on 20/04/2011 at 21:19..
Pass version number to global bind function
https://invent.kde.org/neon/backports-jammy/wayland/commit/13ca93794405965cac8d3e3173f3f4eda2ff28c6

Git commit 589e581f76ef5aaa29499abaa82703745b69f7d5 by Kristian Høgsberg on 21/04/2011 at 18:46..
event-loop: Add an optional post-dispatch source callout

This lets a source mark itself as ready to dispatch even though the fd
didn't trigger.   What can happen is that for the X11 socket, some other
source callback (the drm fd or a wayland client socket) can cause somebody
to do an X roundtrip (DRI2 get buffers, for example) and queue up events
in the xcb buffer.  When we get back to epoll, the X fd no longer polls
readable and we don't process those events until we get another X event.

The check callback is called after a round of dispatching and lets a source
check if it has data to dispatch and mark itself ready.  Next round of
dispatching will then process it immediately instead of blocking in
epoll_wait().
https://invent.kde.org/neon/backports-jammy/wayland/commit/589e581f76ef5aaa29499abaa82703745b69f7d5

Git commit 0bf5285b44b0a8630a3b6a308e96fe7fd01572b0 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 22/04/2011 at 14:11..
Add buffer.damage request to the protocol

Thus remove the server-side used vfunc buffer::damage.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0bf5285b44b0a8630a3b6a308e96fe7fd01572b0

Git commit 3b2ce63015fadf97849adb360f50f01f9429c688 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 22/04/2011 at 14:13..
Remove buffer.attach vfunc
https://invent.kde.org/neon/backports-jammy/wayland/commit/3b2ce63015fadf97849adb360f50f01f9429c688

Git commit 1c88cffa3250fbf5cb485733c4954d04b3f48ee3 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 22/04/2011 at 14:44..
Add common shm-server code
https://invent.kde.org/neon/backports-jammy/wayland/commit/1c88cffa3250fbf5cb485733c4954d04b3f48ee3

Git commit f8bb7f435b884eacc2d2468b9defe5f2d5a479eb by Kristian Høgsberg on 22/04/2011 at 16:06..
event-loop: Dont use a check callback just dispatch again

We pass the poll mask so the dispatch callback can know if there is
data on the fd or not.  The dispatch function must return true if
it dispatched something, in which case we need to do another round of
post-dispatch callbacks."
https://invent.kde.org/neon/backports-jammy/wayland/commit/f8bb7f435b884eacc2d2468b9defe5f2d5a479eb

Git commit 6ae42181c02defea98aa3c5b6ee69c634b28f543 by Kristian Høgsberg on 22/04/2011 at 16:15..
event-loop: Idle callback are a special case of a checked source
https://invent.kde.org/neon/backports-jammy/wayland/commit/6ae42181c02defea98aa3c5b6ee69c634b28f543

Git commit c964a5201e2d47ea53d54da58c9b97bfeec992fc by Kristian Høgsberg on 22/04/2011 at 21:54..
Don't define wl_shell in wayland-server.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/c964a5201e2d47ea53d54da58c9b97bfeec992fc

Git commit a0da7468f87bbff74686a8b1608fb6e0de91a861 by Kristian Høgsberg on 29/04/2011 at 13:20..
event-loop: Drop unused idle_list

Idle sources are now just a special case of a checked source.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a0da7468f87bbff74686a8b1608fb6e0de91a861

Git commit 761af3ab0a86dbb2a77446270774faf5f91e3752 by Kristian Høgsberg (on behalf of Casey Dahlin) on 29/04/2011 at 13:42..
Add some things related to wayland-scanner to .gitignore
https://invent.kde.org/neon/backports-jammy/wayland/commit/761af3ab0a86dbb2a77446270774faf5f91e3752

Git commit 92d61f13b980e4ecc16724e2b0d823dd4f9a820b by Kristian Høgsberg on 02/05/2011 at 18:48..
mmap shm buffers read/write
https://invent.kde.org/neon/backports-jammy/wayland/commit/92d61f13b980e4ecc16724e2b0d823dd4f9a820b

Git commit 8600408cedfda025115683680003352654c8f483 by Kristian Høgsberg on 04/05/2011 at 16:35..
connection: Handle fd passing in an CLOEXEC safe way
https://invent.kde.org/neon/backports-jammy/wayland/commit/8600408cedfda025115683680003352654c8f483

Git commit c72ebf5df9840b639c4193fffd9e536e60c3d35d by Kristian Høgsberg on 04/05/2011 at 19:51..
scanner: Initialize wl_message structs completely
https://invent.kde.org/neon/backports-jammy/wayland/commit/c72ebf5df9840b639c4193fffd9e536e60c3d35d

Git commit a9ac0eb2495fd7d5f5197427cf31477023e2bdda by Kristian Høgsberg on 04/05/2011 at 19:51..
scanner: Fail if there's a 'destroy' request not marked as a destructor
https://invent.kde.org/neon/backports-jammy/wayland/commit/a9ac0eb2495fd7d5f5197427cf31477023e2bdda

Git commit c861852536f7983a8a94859848b1d90b875961fe by Kristian Høgsberg (on behalf of Benjamin Franzke) on 04/05/2011 at 20:21..
connection: Define _GNU_SOURCE for F_DUPFD_CLOEXEC
https://invent.kde.org/neon/backports-jammy/wayland/commit/c861852536f7983a8a94859848b1d90b875961fe

Git commit bd70dc185a643f739f80a09e860b7a81bbb57272 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 06/05/2011 at 19:39..
Add a destroy_listener to wl_resource

Drop the one in wl_surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bd70dc185a643f739f80a09e860b7a81bbb57272

Git commit 53200f05c7682de3c4a2d061512b2989b6a3fd6f by Kristian Høgsberg (on behalf of jani.uusi-rantala at nokia.com) on 06/05/2011 at 21:35..
Add configure option to disable scanner compilation

When cross-compiling Wayland, wayland-scanner should be picked up from
the host system instead of compiling and trying to run e.g. ARM
wayland-scanner on X86.

This patch adds --disable-scanner option for disabling the scanner
from the build and using existing wayland-scanner instead (from PATH)
which should help in most cross-compilation systems.

By default everything works as before.

Signed-off-by: Jani Uusi-Rantala <jani.uusi-rantala at nokia.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/53200f05c7682de3c4a2d061512b2989b6a3fd6f

Git commit a77498d07c099b96f2cfc18728a1a24430e2e999 by Benjamin Franzke on 10/05/2011 at 10:56..
wayland-util: Drop unused struct wl_argument
https://invent.kde.org/neon/backports-jammy/wayland/commit/a77498d07c099b96f2cfc18728a1a24430e2e999

Git commit dcfaf4ec2d08a12f0d72f1cb93fd37cf232b0a11 by Kristian Høgsberg (on behalf of Robert Bragg) on 10/05/2011 at 17:07..
display: Adds wl_display_flush to send buffered commands

Previously for wayland clients to flush buffered connection data to the
compositor they needed to first register an event-mask-update-callback
via wl_display_get_fd() to determine if there is anything writeable
pending.  (NB: It's considered an error to iterate connection data with
an invalid mask)

Since it's only possible to register a single update callback currently
it's a bit awkward if you want to allow multiple orthogonal components
to flush the connection data, such as Cogl and Clutter which both want
to interact with wayland and may want to flush commands at different
times.

This adds a mechanism, wl_display_flush(), which makes it possible to
flush writeable connection data without first checking the event mask.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dcfaf4ec2d08a12f0d72f1cb93fd37cf232b0a11

Git commit 7c140c8c84da252104aee71ebf72dbc614b3e831 by Kristian Høgsberg on 11/05/2011 at 01:49..
connection.c: Use sizeof int for allocating fd extra storage
https://invent.kde.org/neon/backports-jammy/wayland/commit/7c140c8c84da252104aee71ebf72dbc614b3e831

Git commit 2d27f3b6e9001d4fae4a4de7a19db76b5174f9d7 by Kristian Høgsberg on 11/05/2011 at 02:56..
TODO: Consolidate and update
https://invent.kde.org/neon/backports-jammy/wayland/commit/2d27f3b6e9001d4fae4a4de7a19db76b5174f9d7

Git commit 1db05255728c7a9a7e1460acff0651f6f5ea3f4e by Kristian Høgsberg on 11/05/2011 at 15:02..
Unify error events

Consolidate the different error events into one.  This event will also be
usable for other interaces.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1db05255728c7a9a7e1460acff0651f6f5ea3f4e

Git commit 8834a0f22f36d7890691015ef93b3c77cf9b4bbb by Kristian Høgsberg on 11/05/2011 at 17:06..
Define shm specific errors

We stop abusing the wl_display error codes for shm purposes.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8834a0f22f36d7890691015ef93b3c77cf9b4bbb

Git commit 4453ba084aae5a00318b9dfdeda95e8eaa17494c by Kristian Høgsberg on 13/05/2011 at 01:27..
server: Send error if client tries to bind to non-existant object
https://invent.kde.org/neon/backports-jammy/wayland/commit/4453ba084aae5a00318b9dfdeda95e8eaa17494c

Git commit 4bde293ff8109d55eeaee8732f5a6ee0c8cd4bd9 by Kristian Høgsberg on 13/05/2011 at 01:29..
Add event to associate visuals with a pixel format token
https://invent.kde.org/neon/backports-jammy/wayland/commit/4bde293ff8109d55eeaee8732f5a6ee0c8cd4bd9

Git commit eff7fc0d99be2e51eaa351785030c8d374ac71de by Kristian Høgsberg on 19/05/2011 at 15:53..
TODO: Update
https://invent.kde.org/neon/backports-jammy/wayland/commit/eff7fc0d99be2e51eaa351785030c8d374ac71de

Git commit b06e891e4ca47278f2712dfba804fc169db39f9a by Benjamin Franzke on 31/05/2011 at 09:18..
wayland-shm: Check visual for being NULL
https://invent.kde.org/neon/backports-jammy/wayland/commit/b06e891e4ca47278f2712dfba804fc169db39f9a

Git commit 02e1ffdefef7b3e3dd82198a0f2f7503e7883e9b by Kristian Høgsberg (on behalf of Samuel Rødal) on 31/05/2011 at 19:14..
Fall back to accept() on systems where accept4() is not implemented.
https://invent.kde.org/neon/backports-jammy/wayland/commit/02e1ffdefef7b3e3dd82198a0f2f7503e7883e9b

Git commit 467ae367ed27976098d5065628daf24cee21e3b5 by Kristian Høgsberg on 07/06/2011 at 14:53..
connection: Fix pointer arithmetic error

Pointed out by Nicolas Pouillon in irc.
https://invent.kde.org/neon/backports-jammy/wayland/commit/467ae367ed27976098d5065628daf24cee21e3b5

Git commit d7569d46c57adb44472f52c9d1392e1b4720c4e8 by Kristian Høgsberg on 07/06/2011 at 17:19..
Remove left-over visual prototypes
https://invent.kde.org/neon/backports-jammy/wayland/commit/d7569d46c57adb44472f52c9d1392e1b4720c4e8

Git commit d8f2e5d6ab0205141e3d6c41b815cd8029bb2911 by Kristian Høgsberg (on behalf of Corentin Chary) on 11/06/2011 at 21:32..
Flush the protocol output buffer when it fills up

Original patch from bnf.

Signed-off-by: Corentin Chary <corentin.chary at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/d8f2e5d6ab0205141e3d6c41b815cd8029bb2911

Git commit 98d8256b8e67a417eebc314440716e66926adf92 by Kristian Høgsberg (on behalf of Corentin Chary) on 11/06/2011 at 21:32..
Call a new global listener for each existing global

Signed-off-by: Corentin Chary <corentin.chary at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/98d8256b8e67a417eebc314440716e66926adf92

Git commit 3418c731b3c71379a84198c6d8425ab1e5000eda by Cyril Brulebois on 18/06/2011 at 01:17..
Add initial packaging.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3418c731b3c71379a84198c6d8425ab1e5000eda

Git commit 65ba9047ffb91a67cc81cc0a3e3193ce568d2464 by Cyril Brulebois on 18/06/2011 at 11:37..
Add a gentarball target.
https://invent.kde.org/neon/backports-jammy/wayland/commit/65ba9047ffb91a67cc81cc0a3e3193ce568d2464

Git commit 18b1c5547c59c352338625bf0f2b7df7c858998a by Cyril Brulebois on 18/06/2011 at 11:37..
Add upstream changelog.
https://invent.kde.org/neon/backports-jammy/wayland/commit/18b1c5547c59c352338625bf0f2b7df7c858998a

Git commit aa08ef8508c92dc1207a874e34063a2a33b27e95 by Cyril Brulebois on 18/06/2011 at 11:38..
Upload to experimental.
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa08ef8508c92dc1207a874e34063a2a33b27e95

Git commit a2db57517b3648f52410c6861704b5c4190416c1 by Kristian Høgsberg on 18/06/2011 at 12:17..
Move map functionality into shell

Initial surface.attach makes the surface visible and clients
can set the surface type using shell.set_transient etc or
other interfaces prior to that.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a2db57517b3648f52410c6861704b5c4190416c1

Git commit 9c36ea776b48decd84828d0b51842c91e2c9124a by Kristian Høgsberg (on behalf of Laszlo Agocs) on 20/06/2011 at 15:25..
Do not leak globals and listeners.

 From 3fa2ad7dec42f85795449f33b2a4c9461aa4924d Mon Sep 17 00:00:00 2001
From: Laszlo Agocs <laszlo.p.agocs at nokia.com>
Date: Tue, 14 Jun 2011 11:35:28 +0200
Subject: [PATCH] Do not leak globals and listeners.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9c36ea776b48decd84828d0b51842c91e2c9124a

Git commit aae9f214e5f0d8d1deac4816fe40f76b2cf84f55 by Kristian Høgsberg (on behalf of Laszlo Agocs) on 20/06/2011 at 15:56..
Add wl_display_remove_global.

Change 4453ba084aae5a00318b9dfdeda95e8eaa17494c disallows using
post_global with objects not on the global list. Therefore selection
and drag offers have to be added to the global list from now on.
However these may often get replaced by a newer object and thus need a
way to remove a global from the global list.
https://invent.kde.org/neon/backports-jammy/wayland/commit/aae9f214e5f0d8d1deac4816fe40f76b2cf84f55

Git commit bfea3d6befdb688d5354e6f15a9400ea637febf9 by Kristian Høgsberg on 21/06/2011 at 15:24..
Add more protocol for communicating screen geometry
https://invent.kde.org/neon/backports-jammy/wayland/commit/bfea3d6befdb688d5354e6f15a9400ea637febf9

Git commit 2fcebfed95447b994649f58f7b0d40e8bac8de08 by Benjamin Franzke on 21/06/2011 at 15:42..
Add buffer.release event
https://invent.kde.org/neon/backports-jammy/wayland/commit/2fcebfed95447b994649f58f7b0d40e8bac8de08

Git commit a56c0455717c4772e8e4b78e56af439ccd2356af by Benjamin Franzke on 21/06/2011 at 15:42..
Add busy_count and client parameter to wl_buffer

Can be used to implement release event.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a56c0455717c4772e8e4b78e56af439ccd2356af

Git commit 4c2500c2e2abc380f34e3222d31222fd103015a5 by Benjamin Franzke on 21/06/2011 at 15:42..
Drop wl_compoositor parameter in wl_buffer
https://invent.kde.org/neon/backports-jammy/wayland/commit/4c2500c2e2abc380f34e3222d31222fd103015a5

Git commit 7dc36984af4b70018e4c70a39cf19172693d33fc by Kristian Høgsberg on 21/06/2011 at 16:15..
Merge remote-tracking branch 'bnf/buffer.release'
https://invent.kde.org/neon/backports-jammy/wayland/commit/7dc36984af4b70018e4c70a39cf19172693d33fc

Git commit b6fdded54bc86260f2b6126d34648c85f4f2d7b1 by Kristian Høgsberg on 21/06/2011 at 20:25..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/b6fdded54bc86260f2b6126d34648c85f4f2d7b1

Git commit ff20a0417af35a1614ec761a67160963de6471e0 by Kristian Høgsberg on 23/06/2011 at 10:43..
event-loop: Make idle handlers work again
https://invent.kde.org/neon/backports-jammy/wayland/commit/ff20a0417af35a1614ec761a67160963de6471e0

Git commit 40b0a6bf630b45550ec1e5e62395006cbf4223aa by Kristian Høgsberg on 29/06/2011 at 15:43..
server: Add wl_client_flush()

Flush output queue up for the specified client.
https://invent.kde.org/neon/backports-jammy/wayland/commit/40b0a6bf630b45550ec1e5e62395006cbf4223aa

Git commit aa7bbb210b7121b9314993228960240358e9b123 by Kristian Høgsberg (on behalf of Laszlo Agocs) on 29/06/2011 at 16:51..
Add touch events to protocol.
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa7bbb210b7121b9314993228960240358e9b123

Git commit ff1a06c03abfa18c18986d42683d69aa47f7d841 by Kristian Høgsberg on 07/07/2011 at 17:39..
scanner: map 'int' to int32_t.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ff1a06c03abfa18c18986d42683d69aa47f7d841

Git commit 671a62cb968b6793f0504770888b23b79e6fb81e by Kristian Høgsberg on 11/07/2011 at 15:15..
protocol: Make id arg of display.global event be just a uint

Global names are different from object IDs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/671a62cb968b6793f0504770888b23b79e6fb81e

Git commit f6bf070aee4527e9793681b42ac57a587d239f4c by Kristian Høgsberg on 15/07/2011 at 19:04..
scanner: Output type info for new_id arguments
https://invent.kde.org/neon/backports-jammy/wayland/commit/f6bf070aee4527e9793681b42ac57a587d239f4c

Git commit 98da0a7b982310992e3af1b376c4b05ea4f2c71a by Kristian Høgsberg on 15/07/2011 at 19:04..
protocol: Fix type of visual arg in token_visual event
https://invent.kde.org/neon/backports-jammy/wayland/commit/98da0a7b982310992e3af1b376c4b05ea4f2c71a

Git commit a9ef785cf83731b82334b22894dd01ee6ada66c8 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/07/2011 at 19:04..
debug: add timestamps when logging

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a9ef785cf83731b82334b22894dd01ee6ada66c8

Git commit 068ba750caebb62aaef20ac3452ce23e066c7239 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/07/2011 at 19:04..
protocol: fix key event and related comments
https://invent.kde.org/neon/backports-jammy/wayland/commit/068ba750caebb62aaef20ac3452ce23e066c7239

Git commit 728d09936f76ce60090e0fd0505b0522d03dd535 by Kristian Høgsberg (on behalf of Casey Dahlin) on 18/07/2011 at 16:58..
Fix segfault in client when demarshalling fails
https://invent.kde.org/neon/backports-jammy/wayland/commit/728d09936f76ce60090e0fd0505b0522d03dd535

Git commit a8db57befa3263c6de24fd9762a4aec3b564d4d3 by Kristian Høgsberg on 18/07/2011 at 17:10..
conection: Handle demarshal errors a little less dramatically
https://invent.kde.org/neon/backports-jammy/wayland/commit/a8db57befa3263c6de24fd9762a4aec3b564d4d3

Git commit c86ba825c474bbbd9e95bcdbc2b8b577d24322fe by Kristian Høgsberg (on behalf of Casey Dahlin) on 18/07/2011 at 17:14..
Pass object ID not pointer when sending a global announce event

When the type for the first argument of the global event changed from new_id to
uint, wl_connection_vmarshal started expecting an integer argument rather than
an object argument. As a result we were sending the client a chunk of pointer
rather than a useful global identifier.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c86ba825c474bbbd9e95bcdbc2b8b577d24322fe

Git commit f9b3c151459c1627ea971d6539f706e868b89ef4 by Kristian Høgsberg on 18/07/2011 at 17:35..
Link to -lrt for clock_gettime()
https://invent.kde.org/neon/backports-jammy/wayland/commit/f9b3c151459c1627ea971d6539f706e868b89ef4

Git commit 64732b01e4e9720eaef181c631d94a509a73dc65 by Kristian Høgsberg on 19/07/2011 at 17:01..
connection: Use static strings instead of sprintf and buffer overflow

Spotted by Samuel Rødal <samuel.rodal at nokia.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/64732b01e4e9720eaef181c631d94a509a73dc65

Git commit 986703ac7365bc87a5501714adb9fc73157c62b7 by Kristian Høgsberg on 26/07/2011 at 01:14..
scanner: Take copyright notice from xml file
https://invent.kde.org/neon/backports-jammy/wayland/commit/986703ac7365bc87a5501714adb9fc73157c62b7

Git commit 7a291117e7ff1c8f817242b9b223e600a0a9e3c8 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 26/07/2011 at 15:21..
protocol: Delete screenshooter.xml

The protocol interface is on compositor's side now.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7a291117e7ff1c8f817242b9b223e600a0a9e3c8

Git commit eb13ae17b41dea24000e8ff78b762b20c1fdf23b by Kristian Høgsberg on 27/07/2011 at 12:50..
scanner: Initialize protocol.copyright to NULL
https://invent.kde.org/neon/backports-jammy/wayland/commit/eb13ae17b41dea24000e8ff78b762b20c1fdf23b

Git commit 9a606bedfdca505fdd82044793a278b2eb4b2553 by Kristian Høgsberg on 28/07/2011 at 14:47..
scanner: Silence warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/9a606bedfdca505fdd82044793a278b2eb4b2553

Git commit 3733157d55df862ad5a89d1911a0500af67e7e08 by Kristian Høgsberg on 11/08/2011 at 18:57..
Change scanner.c license to MIT
https://invent.kde.org/neon/backports-jammy/wayland/commit/3733157d55df862ad5a89d1911a0500af67e7e08

Git commit 4c260db68c028f05401727d1911582ae8b87cd70 by Kristian Høgsberg on 12/08/2011 at 20:25..
Rename source subdir from wayland to src
https://invent.kde.org/neon/backports-jammy/wayland/commit/4c260db68c028f05401727d1911582ae8b87cd70

Git commit f2665e21ce3f524bfacd6837f95acdee5f3903db by Kristian Høgsberg (on behalf of Jørgen Lind) on 12/08/2011 at 20:25..
Make expat a dependency to the scanner
https://invent.kde.org/neon/backports-jammy/wayland/commit/f2665e21ce3f524bfacd6837f95acdee5f3903db

Git commit efeb9e977885c2df3426346ec45a913ff403af8d by Kristian Høgsberg on 12/08/2011 at 20:25..
event-loop: Quiet a few warnings

There's no good error recovery possible in these cases though.
https://invent.kde.org/neon/backports-jammy/wayland/commit/efeb9e977885c2df3426346ec45a913ff403af8d

Git commit f6ede01b68ebdd74b2025bd087b8b52b0b5f2eef by Kristian Høgsberg on 17/08/2011 at 02:33..
connection: Object ID 0 is not a valid new object ID
https://invent.kde.org/neon/backports-jammy/wayland/commit/f6ede01b68ebdd74b2025bd087b8b52b0b5f2eef

Git commit 1648109c84a5e96fd28a29a276a668050dd6c881 by Kristian Høgsberg (on behalf of Paulo Zanoni) on 27/08/2011 at 16:06..
connection: fix libffi usage, our functions return void

All clients were segfaulting on my machine.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/1648109c84a5e96fd28a29a276a668050dd6c881

Git commit 0af17ed98c8f8112c0d43ccbf90367f543846143 by Kristian Høgsberg on 27/08/2011 at 16:06..
Use a callback object instead of ad-hoc lists for sync and frame events

So obvious in retrospect.  The object system can do all the work for us
and keep track of pending calls as regular objects and we don't need to
abuse the resource system to get them cleaned up on client exit.  We
don't need the custom key management or (broken) lookup, we just sue
object IDs.  And last but not least, anybody can receive the callback,
not just display listeners.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0af17ed98c8f8112c0d43ccbf90367f543846143

Git commit e8a192ca616107dcb672b34d0c80f2de679bcd0a by Kristian Høgsberg on 27/08/2011 at 16:06..
server: Make everything in the object hash a wl_resource
https://invent.kde.org/neon/backports-jammy/wayland/commit/e8a192ca616107dcb672b34d0c80f2de679bcd0a

Git commit 84c13ab8100c5f8d6fb3de1127abf7facab145ff by Kristian Høgsberg on 27/08/2011 at 16:06..
Rename global 'func' to 'bind'
https://invent.kde.org/neon/backports-jammy/wayland/commit/84c13ab8100c5f8d6fb3de1127abf7facab145ff

Git commit e065b7eafa1cf446da58c7fc2f3e5b00a78c0e08 by Kristian Høgsberg on 27/08/2011 at 16:06..
server: Make object hash table per-client
https://invent.kde.org/neon/backports-jammy/wayland/commit/e065b7eafa1cf446da58c7fc2f3e5b00a78c0e08

Git commit 3ac8757ec3f2166401afa9e059e934713382d211 by Kristian Høgsberg on 27/08/2011 at 16:06..
server: Assign global id as part of wl_display_add_global()
https://invent.kde.org/neon/backports-jammy/wayland/commit/3ac8757ec3f2166401afa9e059e934713382d211

Git commit a7c682432893d2e5e534953ef64193f1dd4bcef4 by Kristian Høgsberg on 27/08/2011 at 16:06..
server: Hand code all wl_display client stubs
https://invent.kde.org/neon/backports-jammy/wayland/commit/a7c682432893d2e5e534953ef64193f1dd4bcef4

Git commit e908893080a391b731591720e52f4c38c4c644e4 by Kristian Høgsberg on 27/08/2011 at 16:06..
Bind globals to client provided object IDs
https://invent.kde.org/neon/backports-jammy/wayland/commit/e908893080a391b731591720e52f4c38c4c644e4

Git commit c4774d55e91a722e29326c30ab49dcc3850e0a00 by Kristian Høgsberg on 27/08/2011 at 16:06..
Add wl_hash_table_for_each()
https://invent.kde.org/neon/backports-jammy/wayland/commit/c4774d55e91a722e29326c30ab49dcc3850e0a00

Git commit cc6fd94d6a5743eb94b52f1887557305784525c9 by Kristian Høgsberg on 27/08/2011 at 16:06..
Always allocate a new wl_resource when binding an object

Previously we would bind some resources into multiple client hash tables.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cc6fd94d6a5743eb94b52f1887557305784525c9

Git commit 0e16b00b862533e316385424b7b9bfb61da722b2 by Kristian Høgsberg on 27/08/2011 at 16:06..
Destroy client resource by walking client hash table

All resources are now in the client hash table and we can clean up
just by walking the hash.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0e16b00b862533e316385424b7b9bfb61da722b2

Git commit 4a39081c1d4a8d9aa3a6c86e48924142a3406b24 by Kristian Høgsberg on 27/08/2011 at 16:06..
Remove range protocol
https://invent.kde.org/neon/backports-jammy/wayland/commit/4a39081c1d4a8d9aa3a6c86e48924142a3406b24

Git commit c8147edc3afea143a2e3328c22c4daf9ae70a6f2 by Kristian Høgsberg on 27/08/2011 at 16:06..
Store objects in wl_map data structure

The wl_map data structure is just an array with a free-list that lets the
client recycle unused client IDs and keep range of client IDs under control.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c8147edc3afea143a2e3328c22c4daf9ae70a6f2

Git commit e489e824fac5973499390884797b4c1a256dd184 by Kristian Høgsberg on 27/08/2011 at 16:06..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/e489e824fac5973499390884797b4c1a256dd184

Git commit 2b6f3cd2b85052dc5127d22ebb2269ab3f69bf9a by Kristian Høgsberg on 27/08/2011 at 16:06..
server: wl_display and wl_input_device are no longer resources
https://invent.kde.org/neon/backports-jammy/wayland/commit/2b6f3cd2b85052dc5127d22ebb2269ab3f69bf9a

Git commit 990809c0637a15edbdf75753afdea537e057fd34 by Kristian Høgsberg on 27/08/2011 at 16:06..
Don't special case object ID 1 lookup
https://invent.kde.org/neon/backports-jammy/wayland/commit/990809c0637a15edbdf75753afdea537e057fd34

Git commit b15259bff48aa5a1f4f4c2a0675ce06e50a8c82f by Kristian Høgsberg on 27/08/2011 at 16:06..
server: Pass struct wl_resource for object references
https://invent.kde.org/neon/backports-jammy/wayland/commit/b15259bff48aa5a1f4f4c2a0675ce06e50a8c82f

Git commit 47b446987d79fa77e6899ab1dc290a992ac5c241 by Kristian Høgsberg on 29/08/2011 at 19:01..
shm: Compare resource interface when validating visual
https://invent.kde.org/neon/backports-jammy/wayland/commit/47b446987d79fa77e6899ab1dc290a992ac5c241

Git commit 58b9c1bf1705087089815ae2d307ea0e1583703d by Kristian Høgsberg on 29/08/2011 at 19:01..
server: Disconnect client on error
https://invent.kde.org/neon/backports-jammy/wayland/commit/58b9c1bf1705087089815ae2d307ea0e1583703d

Git commit f9c8a691b2f01ca4ef8e2e950b43ab19b2703e62 by Kristian Høgsberg on 29/08/2011 at 20:54..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/f9c8a691b2f01ca4ef8e2e950b43ab19b2703e62

Git commit c640571c00b0c1ffafb05b1ad5cd02cd511cb06a by Kristian Høgsberg on 31/08/2011 at 22:34..
Remove the wl_visual interface

The visual interface was meant to be a generic mechanism for
specifying the content of a buffer.  It goes back to before we had the
buffer factory interfaces (like wl_drm and wl_shm) and we wanted to
keep it open-ended enough that yuv, png or even svg buffer or so would
be possible.

Now that we have the buffer abstraction, we can add different buffer
types by introducing new interfaces that create buffers.  It only
makes sense to leave it to those interfaces to specify the contents of
the buffers.

For wl_shm, this means that we now just specify the pixel format using
an enum.  For EGL buffers, the exact pixel formats are controlled by
the implementation (part of wl_drm and similar), and from the client
point of view, everything is controlled using EGLConfigs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c640571c00b0c1ffafb05b1ad5cd02cd511cb06a

Git commit 25fddf65a8df409195616b308051d7e426cfa97a by Kristian Høgsberg on 01/09/2011 at 13:53..
server: Make error posting functions take a resource instead of a client
https://invent.kde.org/neon/backports-jammy/wayland/commit/25fddf65a8df409195616b308051d7e426cfa97a

Git commit 468c9bd9e741b720fbbfa10d1fd3fce9278bdf1b by Kristian Høgsberg on 04/09/2011 at 13:51..
Add back get/set user data wrappers for wl_display
https://invent.kde.org/neon/backports-jammy/wayland/commit/468c9bd9e741b720fbbfa10d1fd3fce9278bdf1b

Git commit 34b26802d710d36224db25a4bb1e9ac5ff1e9843 by Kristian Høgsberg on 06/09/2011 at 22:12..
Rename motion_grab to implicit_grab

Let's just use the same terms as X.
https://invent.kde.org/neon/backports-jammy/wayland/commit/34b26802d710d36224db25a4bb1e9ac5ff1e9843

Git commit 1482b9e906fb80c3760cdefe12b89785bd3fd1a8 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 11/10/2011 at 17:24..
scanner: Fix indent for *_add_listener
https://invent.kde.org/neon/backports-jammy/wayland/commit/1482b9e906fb80c3760cdefe12b89785bd3fd1a8

Git commit c8dbd8cf9e0199f3bb6c9ff16287f1d8f435abfb by Kristian Høgsberg (on behalf of Mathias Fiedler) on 11/10/2011 at 17:58..
wayland-server: fix crash on invalid resource

Using display_resource to post error about invalid resource.

Reviewed-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c8dbd8cf9e0199f3bb6c9ff16287f1d8f435abfb

Git commit a05546376c7332c111938ce6cadefd30570f689c by Kristian Høgsberg (on behalf of Mathias Fiedler) on 11/10/2011 at 18:23..
wayland-server: fix resource destroy

Object ID was read from freed memory.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a05546376c7332c111938ce6cadefd30570f689c

Git commit ffe8ee8d602ff24588e994ec41393ccae128bca1 by Kristian Høgsberg on 11/10/2011 at 18:37..
wayland-server: Always use the display_resource for posting wl_display errors
https://invent.kde.org/neon/backports-jammy/wayland/commit/ffe8ee8d602ff24588e994ec41393ccae128bca1

Git commit 8bc1abd1f569df860700a3c9d3f1f05e76c60ec9 by Kristian Høgsberg on 12/10/2011 at 02:19..
wayland-server: Track input_device resource for focused surface

We no long track the focused surface, but expect the compositor to set
focus when the focus changes.  We do track the resource for the input
device that corresponds to the current surface, in case that goes away.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8bc1abd1f569df860700a3c9d3f1f05e76c60ec9

Git commit 65fe6fc41891157bce570cb6cc2411b6a8ba7b8a by Kristian Høgsberg on 12/10/2011 at 20:30..
Silence a valgrind warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/65fe6fc41891157bce570cb6cc2411b6a8ba7b8a

Git commit 1ac009473bab32a304beb4f115fbae2514824a06 by Kristian Høgsberg on 20/10/2011 at 19:05..
debug: Print debug message when client wakes up

This helps spot and remove extraneous round trips and context switches.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1ac009473bab32a304beb4f115fbae2514824a06

Git commit d63884b0c701a24f3bfdded036c5d5b6b2b6bd0d by Kristian Høgsberg on 24/10/2011 at 20:04..
scanner: Catch more invalid attribute combinations for arg

Spotted by Jakob Bornecrantz.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d63884b0c701a24f3bfdded036c5d5b6b2b6bd0d

Git commit bfe54cbe3703e6d7b728de3d4d9ca4b663782dbc by Kristian Høgsberg on 24/10/2011 at 20:05..
protocol: Change global_remove arg to be 'name' insteadl of 'id'

Consistent with global args.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bfe54cbe3703e6d7b728de3d4d9ca4b663782dbc

Git commit 7e57dc143e0647502668753e9cd8d2a8582d4a6e by Kristian Høgsberg on 24/10/2011 at 21:05..
scanner: Fix typo in error message
https://invent.kde.org/neon/backports-jammy/wayland/commit/7e57dc143e0647502668753e9cd8d2a8582d4a6e

Git commit f86338d611305fb84187298cbab5dfc78a698c99 by Kristian Høgsberg on 29/10/2011 at 18:27..
event-loop: Fix idle handler dispatch corner case

When the last idle handler queues another idle handler, we fail to
dispatch that last handler.  The wl_list_for_each_safe loop looks up
the next pointer before running the handler, and at that point it points
to the head of the list and the loop terminates.

Instead, just loop until the list is empty.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f86338d611305fb84187298cbab5dfc78a698c99

Git commit 3f1063f92aa60cf93bca6a6b15a7f782b8df8f93 by Kristian Høgsberg (on behalf of Benjamin Franzke) on 31/10/2011 at 15:13..
connection: Check object types in message parameters
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f1063f92aa60cf93bca6a6b15a7f782b8df8f93

Git commit e742dcc9ed4b22eb5191f7e8d2b7cd8011ed5893 by Kristian Høgsberg on 31/10/2011 at 15:21..
scanner: Check name == NULL for enum entries

From a clang static analysis warning.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e742dcc9ed4b22eb5191f7e8d2b7cd8011ed5893

Git commit 3175e91efa4d4cb1847044f9ea4a8ef57fd6f39c by Kristian Høgsberg (on behalf of Andrea Canciani) on 15/11/2011 at 15:15..
hash: Improve double hashing

Instead of artificially introducing collisions in the step value by
replacing 0 with 1 (which causes the value 1 to have twice the
frequency of any other value), the step value can simply be computed
as an uniformly distributed value in the range [1, rehash], extremes
included.

This is safe because any step value smaller than the hash modulus is
co-prime with it, hence induces an orbit which includes every integer
in [0, size - 1].
https://invent.kde.org/neon/backports-jammy/wayland/commit/3175e91efa4d4cb1847044f9ea4a8ef57fd6f39c

Git commit 51f50b8c6425684214e58a0e5ab2515b624feaad by Kristian Høgsberg on 15/11/2011 at 18:48..
util: Add wl_list_insert_list()
https://invent.kde.org/neon/backports-jammy/wayland/commit/51f50b8c6425684214e58a0e5ab2515b624feaad

Git commit 3a1e6df39aa34df53c97ce9c7a1bfddf5a97faf3 by Kristian Høgsberg on 17/11/2011 at 22:37..
Add display event to acknowledge ID deletion

We need to make sure the client doesn't reuse an object ID until the
server has seen the destroy request.  When a client destroys an ID
the server will now respond with the display.delete_id event, which lets
the client block reuse until it receives the event.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3a1e6df39aa34df53c97ce9c7a1bfddf5a97faf3

Git commit 4abc56bd6d476cf386fcc998d40e3d7753a2b03e by Kristian Høgsberg on 17/11/2011 at 22:52..
Introduce wl_resource_queue_event() for sending events later

Some events, such as the display.delete_id, aren't very urgent and we
would like to not always send them immdiately and cause an unnecessary
context switch.  The wl_resource_queue_event() function will place the
event in the connection output buffer but not request the main loop to
poll for writable.  The effect is that the event will just sit in the
output buffer until a more important event comes around and requires
flushing.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4abc56bd6d476cf386fcc998d40e3d7753a2b03e

Git commit 68d13212f238f874600b8ef6020d174edbcbf5f0 by Kristian Høgsberg on 18/11/2011 at 18:12..
Fix unused variable warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/68d13212f238f874600b8ef6020d174edbcbf5f0

Git commit cf04b0a18f25cf1161c84f8ba979805eeaadea09 by Kristian Høgsberg on 18/11/2011 at 18:46..
Move private definitions and prototypes to new wayland-private.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/cf04b0a18f25cf1161c84f8ba979805eeaadea09

Git commit 44186b522f3083c10b8a96c6f9f815febeead054 by Kristian Høgsberg on 19/11/2011 at 02:23..
scanner: Only strdup interface_name after making sure it's not NULL
https://invent.kde.org/neon/backports-jammy/wayland/commit/44186b522f3083c10b8a96c6f9f815febeead054

Git commit 190492b97c9db43a910f17c576244492e19bc658 by Kristian Høgsberg on 22/11/2011 at 19:04..
debug: Use unsigned for object IDs
https://invent.kde.org/neon/backports-jammy/wayland/commit/190492b97c9db43a910f17c576244492e19bc658

Git commit bdbd6ef80b85f5d20608f702a6ffaa1f1f73e7a4 by Kristian Høgsberg on 22/11/2011 at 19:04..
Add support for server allocated object IDs

We set aside a range of the object ID space for use by the server.  This
allows the server to bind an object to an ID for a client and pass that
object to the client.  The client can use the object immediately and the
server can emit events to the object immdiately.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bdbd6ef80b85f5d20608f702a6ffaa1f1f73e7a4

Git commit 0b7d1e86af1e3da1dbee79ebdee2616a6e8bcf01 by Kristian Høgsberg on 23/11/2011 at 15:34..
server: Stop special casing the compositor

wl_compositor_init() was just adding the global and providing a helper
bind function.  Not useful enough to warrent API.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0b7d1e86af1e3da1dbee79ebdee2616a6e8bcf01

Git commit eae3bcb4ccb80ef1c4dcd2f71987c1187aeb9e73 by Kristian Høgsberg on 23/11/2011 at 21:05..
New drag and drop / selection protocol

This commit brings a big change to the DND and copy/paste interfaces.
Most importantly the functionality is now independent of wl_shell.
The wl_shell interface is intended for desktop style UI interaction and
an optional and experimental interface.

The new interface also allows receiving the DND data multiple times or
multiple times during the drag, and the mechanism for offering and receiving
data is now shared between DND and selections.
https://invent.kde.org/neon/backports-jammy/wayland/commit/eae3bcb4ccb80ef1c4dcd2f71987c1187aeb9e73

Git commit ab6b0738c67bb6a3eec5b198ff909dc18a562294 by Pekka Paalanen on 29/11/2011 at 12:46..
server: no errors to a dead client

Do not try to send errors to an already dead client, while in the
middle of cleanup.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab6b0738c67bb6a3eec5b198ff909dc18a562294

Git commit 804d5dd348567fd286b8aa5101d3aff95ecd69d7 by Pekka Paalanen on 29/11/2011 at 12:46..
util: clear pointers on wl_list_remove()

Set the next and prev pointers of the removed list element to NULL. This
will catch programming errors that would use invalid list pointers,
double-remove for instance.

It also helps debugging, making it easy to see in gdb if an object is
not in a list.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/804d5dd348567fd286b8aa5101d3aff95ecd69d7

Git commit e04c137e86f3672f5274a3168a3e88483a191693 by Pekka Paalanen on 29/11/2011 at 12:46..
server: document wl_resource_post_event() arguments

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/e04c137e86f3672f5274a3168a3e88483a191693

Git commit 42eed3235a8349ac2139bb9a06cb8ac294872809 by Pekka Paalanen on 29/11/2011 at 12:46..
protocol: introduce wl_shell_surface

Requests like 'move' and 'set_toplevel' are really methods of a surface,
not methods of a global shell object. Move all these methods to a new
interface, wl_shell_surface.

The global object wl_shell will contain only 'get_shell_surface'
request, which creates and associates a wl_shell_surface object to a
given wl_surface object.

This will also give the shell plugin (if you look at the demo
compositor) means to store per-surface private data in a natural way.

Due to a limitation in delete_id event handling on client side, the
client must destroy its wl_shell_surface object before destroying the
wl_surface object. Otherwise it may just leak an id.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/42eed3235a8349ac2139bb9a06cb8ac294872809

Git commit cf89b40c4ca105416240df737ba8e30c070a44af by Pekka Paalanen on 29/11/2011 at 12:46..
server: do not send delete_id to a dead client

During client tear-down, all objects are destroyed in id order.
Therefore the display object is destroyed first.

If the destroy listeners of any object destroy another object by calling
wl_resoruce_destroy(), we try to send a delete_id event to the client.
This leads to a segmentation fault without a display object.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/cf89b40c4ca105416240df737ba8e30c070a44af

Git commit 58bb064afa3bfc706e3b30dd170804235aa272ea by Kristian Høgsberg (on behalf of Pekka Paalanen) on 05/12/2011 at 14:52..
client: unset WAYLAND_SOCKET env variable

WAYLAND_SOCKET contains a file descriptor that is an open connection to
a Wayland server. It is private to us, and makes no sense to relay the
same value (or any value) to our child processes.

Unset the environment variable to prevent it from being accidentally
relayed to other processes.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/58bb064afa3bfc706e3b30dd170804235aa272ea

Git commit e631ab6cde2fa0d0fe59cc4f5776c9a8b3002989 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 13/12/2011 at 15:01..
client: fix a strdup memory leak

Memory leak found by valgrinding simple-shm client.
struct wl_global::interface is a strdup()'d string that was never freed.

Make a function for freeing a wl_global, and use it.

krh: Edit to name wl_global destructor wl_global_destroy.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/e631ab6cde2fa0d0fe59cc4f5776c9a8b3002989

Git commit 187eace6139754eae58a21303c808a270f70dc3f by Kristian Høgsberg (on behalf of Jørgen Lind) on 14/12/2011 at 14:16..
Make wl_list_for_each* work for c++
https://invent.kde.org/neon/backports-jammy/wayland/commit/187eace6139754eae58a21303c808a270f70dc3f

Git commit f598691831db779aab1f5dd17ace5992a0928960 by Kristian Høgsberg (on behalf of Andy Nichols) on 14/12/2011 at 17:44..
Removed superfluous call to wl_copy_connection

The only purpose those code seems to serve is to introduce a buffer
overflow when events contain more than 128 bytes of data.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f598691831db779aab1f5dd17ace5992a0928960

Git commit 34901868b8d037c3ec230a6828aa75c79ffae59c by Kristian Høgsberg (on behalf of Laszlo Agocs) on 17/12/2011 at 21:02..
Increase closure buffer size and fail gracefully for too big closures.

Buffer size changed from 256 to 1024 bytes. Marshalling will now stop
if the buffer is not big enough.
https://invent.kde.org/neon/backports-jammy/wayland/commit/34901868b8d037c3ec230a6828aa75c79ffae59c

Git commit 1b31149f92888eae01df6ff442166b91b35843b3 by Kristian Høgsberg on 17/12/2011 at 21:05..
connection: Fix printf format warnings
https://invent.kde.org/neon/backports-jammy/wayland/commit/1b31149f92888eae01df6ff442166b91b35843b3

Git commit e68529b52f30974841974c53605f00c9a8ca1580 by Kristian Høgsberg on 19/12/2011 at 18:15..
protocol: Add a bit of documentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/e68529b52f30974841974c53605f00c9a8ca1580

Git commit 1f58d155da09f66dc1eaaafafddae3312e71704f by Kristian Høgsberg (on behalf of Tiago Vignatti) on 21/12/2011 at 18:57..
protocol: update touch_down with focus surface

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/1f58d155da09f66dc1eaaafafddae3312e71704f

Git commit aad1e190588a0edc5a39a9feba534e7a6d4532d4 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 22/12/2011 at 15:40..
server: destroy the socket event source on display destroy

On wl_display_add_socket(), the listening socket fd is added to the
event loop. However, wl_event_source object is not stored and hence
cannot be freed, resulting in a minor leak.

Store wl_event_source pointer in struct wl_socket so we can track it,
and destroy it on wl_display_destroy(). The event loop itself must be
destroyed after destroying the event sources linked to it.

Fixes a Valgrind reported memory leak.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/aad1e190588a0edc5a39a9feba534e7a6d4532d4

Git commit 5e078bfa5a64b1d3ebf78ff2cec0a8e7daaaf983 by Kristian Høgsberg on 22/12/2011 at 20:24..
Use __typeof__ instead of typeof

Thiago Macieira compiles with -std=c++11.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5e078bfa5a64b1d3ebf78ff2cec0a8e7daaaf983

Git commit bc79f1f820409fb92c158a9d2df8a99ad269018e by Kristian Høgsberg on 22/12/2011 at 20:32..
Rename all instances of typeof
https://invent.kde.org/neon/backports-jammy/wayland/commit/bc79f1f820409fb92c158a9d2df8a99ad269018e

Git commit 3762478caaca801743d4ec5ca092aa38160bc2cf by Cyril Brulebois on 23/12/2011 at 13:23..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/3762478caaca801743d4ec5ca092aa38160bc2cf

Git commit a203bd9f4fcc69276d6987aef58caa31253b3ef8 by Cyril Brulebois on 23/12/2011 at 13:24..
Bump changelogs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a203bd9f4fcc69276d6987aef58caa31253b3ef8

Git commit 52da2e086ead56e2a88d238a8feb1f6ee09b44d2 by Cyril Brulebois on 23/12/2011 at 13:33..
Update symbols file (1/2).

First part: removed symbols. That's OK, both ABI/API are known to be
unstable.
https://invent.kde.org/neon/backports-jammy/wayland/commit/52da2e086ead56e2a88d238a8feb1f6ee09b44d2

Git commit f45de1d144356e08da9a613f493820e384aa5d57 by Cyril Brulebois on 23/12/2011 at 13:42..
Update symbols file (2/2).

Second part: Add new symbols.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f45de1d144356e08da9a613f493820e384aa5d57

Git commit 5bd6b6500d4e2c80f91b0b3703ea7377cc371f1f by Cyril Brulebois on 23/12/2011 at 13:45..
Upload to experimental.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5bd6b6500d4e2c80f91b0b3703ea7377cc371f1f

Git commit c1b9203e5adc499677ddb69720213ff63ca66678 by Kristian Høgsberg on 27/12/2011 at 18:58..
Drop unused hash table

We now just use a table for looking up object IDs so we should drop the
hash table.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c1b9203e5adc499677ddb69720213ff63ca66678

Git commit d6465c5b402362c730c703f3f6dd5deddefec113 by Kristian Høgsberg on 29/12/2011 at 03:51..
Fix WL_EVENT_WRITEABLE typo
https://invent.kde.org/neon/backports-jammy/wayland/commit/d6465c5b402362c730c703f3f6dd5deddefec113

Git commit 2755847fce68d6ad36e180f807d06e8a6e70bce7 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 03/01/2012 at 16:22..
server: add wl_input_device_release()

Add a clean-up function for destroying all objects created in
wl_input_device_init(). Can be used to fix memory leaks reported by
Valgrind in the demos.

The init function was also missing an explicit initialisation of the
'keys' array. Add the explicit array init, although it is redundant with
the zeroing of the whole struct.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>

krh: Edited to rename function to *_release()
https://invent.kde.org/neon/backports-jammy/wayland/commit/2755847fce68d6ad36e180f807d06e8a6e70bce7

Git commit c7473897fc6175b2a1a4af673c7ba489483a1cbb by Kristian Høgsberg (on behalf of Pekka Paalanen) on 03/01/2012 at 16:23..
server: remove wl_display::callback_list as unused

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c7473897fc6175b2a1a4af673c7ba489483a1cbb

Git commit 44b529f2e4b953206908f73842ca76d246f715d0 by Kristian Høgsberg on 04/01/2012 at 14:13..
server: Allocate server ID for when resource->object.id is 0
https://invent.kde.org/neon/backports-jammy/wayland/commit/44b529f2e4b953206908f73842ca76d246f715d0

Git commit 5ffe9f470829a80acb711950eaa3870ec20c1057 by Kristian Høgsberg on 06/01/2012 at 16:30..
New grab API

This commit changes the way struct wl_grab works in a couple of ways:

 - The grab itself now decides when it ends instead of hardcoding button
   up as the terminating event.  We remove the end vfunc since a grab now
   always know when it ends and can just clean up at that point.

 - We add a new focus vfunc that is invoked every time the pointer enters
   a new surface, regardless of any grabs.  The callback receives the
   surface and the surface-relative pointer coordinates.  The callback lets
   a grab send enter/leave events and change the grab focus.

 - The grab has a focus surface, wich determines the coordinate space
   for the motion callback coordinates.

 - The input device always tracks the current surface, ie the surface that
   currently contains the pointer, and coordinates relative to that surface.

With these changes, we will be able to pull the core input event delivery
and the drag and drop grab into the core wayland-server library.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5ffe9f470829a80acb711950eaa3870ec20c1057

Git commit dbb3ba7269beea3ac441632bd502911bc439a0e3 by Kristian Høgsberg on 06/01/2012 at 16:40..
Move default grab implementation to wayland-server
https://invent.kde.org/neon/backports-jammy/wayland/commit/dbb3ba7269beea3ac441632bd502911bc439a0e3

Git commit b6b3d07c83481a4435a3b03f2ea6c5dfa600f8f5 by Kristian Høgsberg on 06/01/2012 at 16:40..
Move data device implementation into wayland-server
https://invent.kde.org/neon/backports-jammy/wayland/commit/b6b3d07c83481a4435a3b03f2ea6c5dfa600f8f5

Git commit b2e619c7409a98936233b5f8afb8797f5ac457e9 by Kristian Høgsberg on 06/01/2012 at 16:40..
Add new wl_shell popup surface type
https://invent.kde.org/neon/backports-jammy/wayland/commit/b2e619c7409a98936233b5f8afb8797f5ac457e9

Git commit 151ca457b4384c385c0062716b55595e22fef7ea by Kristian Høgsberg on 11/01/2012 at 19:19..
shm: Drop non-premul format, use less ambiguous ARGB8888 naming convention

This also matches the new wl_drm format names.
https://invent.kde.org/neon/backports-jammy/wayland/commit/151ca457b4384c385c0062716b55595e22fef7ea

Git commit e0b6af03cad9cb970072f39d602c85be6b4b014b by Kristian Høgsberg (on behalf of Neil Roberts) on 12/01/2012 at 15:59..
server: In default grab, update focus resource after sending release

The default grab implementation in wayland-server was updating the
focus resource before sending the button event. This would cause the
button release to be dropped from the implicit grab if the pointer is
moved away from the focus surface. This patch just swaps the order
around.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e0b6af03cad9cb970072f39d602c85be6b4b014b

Git commit 4b5871e2b8be59b5dc3daa6fe00eb1bee80bfad6 by Kristian Høgsberg (on behalf of Richard Hughes) on 13/01/2012 at 17:58..
Fix 'make dist' as connection.h no longer exists
https://invent.kde.org/neon/backports-jammy/wayland/commit/4b5871e2b8be59b5dc3daa6fe00eb1bee80bfad6

Git commit 5cd047131185932e937b05f6a77b9833028acbab by Kristian Høgsberg (on behalf of Jesse Barnes) on 18/01/2012 at 23:22..
scanner: Support documentation elements

On Wed, 18 Jan 2012 12:29:37 -0800
"Kristensen, Kristian H" <kristian.h.kristensen at intel.com> wrote:
> Yeah, that looks good.  I was thinking of a separate <description> tag
> to avoid stuffing too much into an attribute.

How does this look?  It adds a summary attribute to atomic elements,
and a <description> tag with a summary for others.  Spits out enum
documentation like this:

/**
 * wl_display_error - global error values
 * @WL_DISPLAY_ERROR_INVALID_OBJECT: server couldn't find object
 * @WL_DISPLAY_ERROR_INVALID_METHOD: method doesn't exist on the specified interface
 * @WL_DISPLAY_ERROR_NO_MEMORY: server is out of memory
 *
 * These errors are global and can be emitted in response to any server request.
 */
enum wl_display_error {
	WL_DISPLAY_ERROR_INVALID_OBJECT = 0,
	WL_DISPLAY_ERROR_INVALID_METHOD = 1,
	WL_DISPLAY_ERROR_NO_MEMORY = 2,
};

and structure documentation like this:

/**
 * wl_display - core global object
 * @bind: bind an object to the display
 * @sync: (none)
 *
 * The core global object. This is a special singleton object. It is used for
 * internal wayland protocol features.
 */
struct wl_display_interface {
	void (*bind)(struct wl_client *client,
		     struct wl_resource *resource,
		     uint32_t name,
		     const char *interface,
		     uint32_t version,
		     uint32_t id);
	void (*sync)(struct wl_client *client,
		     struct wl_resource *resource,
		     uint32_t callback);
};
https://invent.kde.org/neon/backports-jammy/wayland/commit/5cd047131185932e937b05f6a77b9833028acbab

Git commit 032b957698e03a3e6bb19dc051ecad1792da0385 by Kristian Høgsberg on 19/01/2012 at 00:17..
protocol: Convert comments to new documentation tags
https://invent.kde.org/neon/backports-jammy/wayland/commit/032b957698e03a3e6bb19dc051ecad1792da0385

Git commit f66aa1d08f75c6d89b539e2942baa18b454f83bc by Kristian Høgsberg (on behalf of Jesse Barnes) on 19/01/2012 at 22:16..
scanner: allow summary attributes in args and <description> in <protocol>

Add support for arg summaries for use by detailed structure element
descriptions.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f66aa1d08f75c6d89b539e2942baa18b454f83bc

Git commit fb84662f617d2d8ec3f5724d6962a4109e6fb0ea by Kristian Høgsberg (on behalf of Jesse Barnes) on 19/01/2012 at 22:40..
spec: update high level description, add diagrams

Add diagrams from the Wayland architecture page and add some more high
level text describing X limitations and Wayland architecture.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fb84662f617d2d8ec3f5724d6962a4109e6fb0ea

Git commit 10eefa49470d97948719f58dfb62a97fb4701aed by Kristian Høgsberg (on behalf of Jesse Barnes) on 19/01/2012 at 22:40..
spec: list core interfaces with short descriptions

Plus fix up misc. grammar.
https://invent.kde.org/neon/backports-jammy/wayland/commit/10eefa49470d97948719f58dfb62a97fb4701aed

Git commit 7ecb5ebb1b60724dd236345df2ade2bcdd474d73 by Cyril Brulebois on 30/01/2012 at 21:01..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/7ecb5ebb1b60724dd236345df2ade2bcdd474d73

Git commit ec6d4c9e64c780927a660d1dfa5ce3f6467dc950 by Cyril Brulebois on 30/01/2012 at 21:04..
Bump changelogs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ec6d4c9e64c780927a660d1dfa5ce3f6467dc950

Git commit e226c4d811636e39ef96973d3754ea3aaccc89a5 by Cyril Brulebois on 30/01/2012 at 21:37..
Update symbols file.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e226c4d811636e39ef96973d3754ea3aaccc89a5

Git commit 421527af53c1f51d1447e678fb75fcd6ac84817f by Cyril Brulebois on 30/01/2012 at 21:37..
Upload to experimental.
https://invent.kde.org/neon/backports-jammy/wayland/commit/421527af53c1f51d1447e678fb75fcd6ac84817f

Git commit fa525622e33216207b6bba6ef5b4c434d565e4d1 by Kristian Høgsberg on 09/02/2012 at 13:28..
wayland-util.h: Avoid un-namespaced _container_of

Yes, there are worse offenders in that file, but this one isn't used in
the code and it makes Xorg angry.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fa525622e33216207b6bba6ef5b4c434d565e4d1

Git commit 0bcb30a9a010790f6258c890000765b17f539a46 by Kristian Høgsberg on 09/02/2012 at 13:28..
Drop warning when we receive an event for zombie objects

Business as usual, but the message is confusing.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0bcb30a9a010790f6258c890000765b17f539a46

Git commit 3cce6be20d5f81810d00eb89ae09eaa0025e10b3 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 09/02/2012 at 14:42..
spec: fix typo

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/3cce6be20d5f81810d00eb89ae09eaa0025e10b3

Git commit 899652201f0be57b5dc664c5e4d0eeaf2caf34a7 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 09/02/2012 at 14:42..
protocol: fix typo

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/899652201f0be57b5dc664c5e4d0eeaf2caf34a7

Git commit 8f9de83f7b1f9c6bc265fec4aec35eff0e9164a0 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 09/02/2012 at 15:06..
scanner: don't print new line when no descriptions are provided

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/8f9de83f7b1f9c6bc265fec4aec35eff0e9164a0

Git commit c6b37ac05566d0a233da69a4f6b35409b278de34 by Kristian Høgsberg on 09/02/2012 at 16:12..
Set version to 'master' on git master branch
https://invent.kde.org/neon/backports-jammy/wayland/commit/c6b37ac05566d0a233da69a4f6b35409b278de34

Git commit 7c6dac8740f26f0fd2440016c218a9862fdfc271 by Kristian Høgsberg on 09/02/2012 at 16:15..
Use dist-xz for tarballs
https://invent.kde.org/neon/backports-jammy/wayland/commit/7c6dac8740f26f0fd2440016c218a9862fdfc271

Git commit 28e3cbc654a81c35a2948af93d6e86911159a13f by Kristian Høgsberg on 09/02/2012 at 18:15..
Release 0.85.0
https://invent.kde.org/neon/backports-jammy/wayland/commit/28e3cbc654a81c35a2948af93d6e86911159a13f

Git commit 7f48e0798337765b397a98cd21db28219bb54d9c by Cyril Brulebois on 10/02/2012 at 10:26..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/7f48e0798337765b397a98cd21db28219bb54d9c

Git commit 0c4350ab33acf6b9d72e637d51eeddfacec56ab4 by Cyril Brulebois on 10/02/2012 at 10:28..
Bump changelogs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0c4350ab33acf6b9d72e637d51eeddfacec56ab4

Git commit 4bfeae576f8c38ec66bf72dff9d15205f144d50d by Cyril Brulebois on 10/02/2012 at 10:49..
Update watch file.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4bfeae576f8c38ec66bf72dff9d15205f144d50d

Git commit 2cc0f08956b95971d67a69c3d382ec101fafa200 by Cyril Brulebois on 10/02/2012 at 10:51..
Upload to experimental.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2cc0f08956b95971d67a69c3d382ec101fafa200

Git commit 2eddfce14bd282e60d2d928fe567f89c448ebd6e by Kristian Høgsberg (on behalf of Juan Zhao) on 16/02/2012 at 20:49..
Add maximized protocol

A request from the client to ask the compositor to maximize the surface.
The compositor will reply with a configure event telling
the expected new surface size.  The operation is completed on the
next buffer attach to this surface.

A maximized client will fill the fullscreen of the output it is bound
to, except the panel area. This is the main difference between
a maximized shell surface and a fullscreen shell surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2eddfce14bd282e60d2d928fe567f89c448ebd6e

Git commit b3981136a1a501a43b709acef9f145cf977e08b0 by Kristian Høgsberg (on behalf of Juan Zhao) on 16/02/2012 at 20:49..
Add fullscreen protocol

Map the surface as a fullscreen surface. On the output the
surface is assigned to. The client can use different fulllscreen
method to fix the size mismatch issue: default, scale, driver
and fill.

Hints to indicate compositor how to deal with this fullscreen surface.

"default" means the client has no preference on fullscreen
          behavior, policies are determined by compositor.
"scale"   means the client prefers scaling by the compositor.
          Scaling would always preserve surface's aspect ratio.
          And the surface is centered.
"driver"  means the client wants to switch video mode to the
          smallest mode that can fit the client buffer. If the
          sizes do not match, black borders are added. And the
          framerate parameter is used for "driver" method,
          to indicate the preferred framerate. framerate=0 means
          that the app does not care about framerate
"fill"    means the client wants to add blackborders to the
          surface. This would be preferring 1:1 pixel mapping
          in the monitor native video mode. The surface is
          centered.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b3981136a1a501a43b709acef9f145cf977e08b0

Git commit 7243062f9346449b4f8657d0d472dc3ffe5b33dc by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 16/02/2012 at 21:11..
data_device: get rid of attach request

In the effort to make everything a regular surface, remove
data_device.attach request. To maintan the functionality, add
an icon surface parameter to data_device.start_drag.

Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7243062f9346449b4f8657d0d472dc3ffe5b33dc

Git commit 5536031bfb7d70b462e65406bcae2a35738a9485 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 16/02/2012 at 21:33..
protocol: remove absolute coordinates from pointer

Remove the absolute coordinate fields from the pointer motion and
pointer_focus events. Clients are not supposed to see any global
coordinates.

Fix wayland-server code accordingly. wayland-client code is unaffected.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/5536031bfb7d70b462e65406bcae2a35738a9485

Git commit 8503cd6859c3794809c62e1bd867d4f9321d9921 by Kristian Høgsberg on 18/02/2012 at 05:29..
Add wl_client_get_credentials() to get unix credentials for client
https://invent.kde.org/neon/backports-jammy/wayland/commit/8503cd6859c3794809c62e1bd867d4f9321d9921

Git commit 8134e067423937d9fa1d19a531ababe4f2df19a6 by Kristian Høgsberg (on behalf of Scott Moreau) on 18/02/2012 at 16:51..
server: Rename wl_grab_interface.

In order to separate pointer and keyboard grabs, we need to
introduce a keyboard grab interface but first we must rename
some generic types to denote which device is holding the grab.

Type renames:

wl_grab_interface -> wl_pointer_grab_interface
wl_grab -> wl_pointer_grab
wl_input_device_start_grab -> wl_input_device_start_pointer_grab
wl_input_device_end_grab -> wl_input_device_end_pointer_grab
https://invent.kde.org/neon/backports-jammy/wayland/commit/8134e067423937d9fa1d19a531ababe4f2df19a6

Git commit ab3b5cd71ce6dd1a532d9c1fecabb1a6e9d1a055 by Kristian Høgsberg (on behalf of Scott Moreau) on 18/02/2012 at 16:55..
server: Implement wl_keyboard_grab_interface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab3b5cd71ce6dd1a532d9c1fecabb1a6e9d1a055

Git commit 3c6f42112d0851c9af773d5d4777bd1877574904 by Kristian Høgsberg on 23/02/2012 at 14:35..
Split pointer_focus and keyboard_focus into enter and leave events
https://invent.kde.org/neon/backports-jammy/wayland/commit/3c6f42112d0851c9af773d5d4777bd1877574904

Git commit 1ba69d26e08e68735d02ceb58ad49138b289b6fc by Kristian Høgsberg on 23/02/2012 at 20:35..
Add wl_region and surface requests to set opaque and input regions
https://invent.kde.org/neon/backports-jammy/wayland/commit/1ba69d26e08e68735d02ceb58ad49138b289b6fc

Git commit c56667bb8323654fa17fa5ac18d9dee68b84bdd5 by Kristian Høgsberg (on behalf of Thiago Macieira) on 23/02/2012 at 20:35..
Fix compilation: uid_t, gid_t and pid_t are defined in sys/types.h

This error shows up in third-party code when including
wayland-server.h.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c56667bb8323654fa17fa5ac18d9dee68b84bdd5

Git commit ff562befd8754668accea9c7fe59d6e3eb1c4e59 by Kristian Høgsberg (on behalf of Peter Hutterer) on 23/02/2012 at 20:44..
spec: typo and wording fixes

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

Git commit 0b54a1442aa9b86fa714ce59a0bc7e4df87b5e26 by Kristian Høgsberg (on behalf of Peter Hutterer) on 23/02/2012 at 20:44..
spec: padding bytes are undefined, state so

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

Git commit a8c9e82c4931a94177c4151eb404f312831f2f6c by Kristian Høgsberg (on behalf of Peter Hutterer) on 23/02/2012 at 20:45..
scanner: Remove unused variable 'len'

scanner.c: In function ‘desc_dump’:
scanner.c:142:42: warning: unused variable ‘len’ [-Wunused-variable]

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

Git commit 50e87a006f50b47ef469255495fe3e4ef0c8a593 by Kristian Høgsberg (on behalf of Peter Hutterer) on 23/02/2012 at 20:45..
protocol: fix missing hyphenation for "client-created"

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

Git commit 015c42e1b1c758669d8adacf4bd174ce934a43f5 by Kristian Høgsberg (on behalf of Peter Hutterer) on 23/02/2012 at 21:03..
protocol: add xslt stylesheet to prettify the protocol

Includes rudimentary styling only.

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

Git commit d0711b27ee64f22be3eabb089c10d19a1173972c by Kristian Høgsberg on 23/02/2012 at 21:41..
protocol.xsl: Rename stylesheet to wayland-protocol.css

Otherwise it clashes with the website stylesheet.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d0711b27ee64f22be3eabb089c10d19a1173972c

Git commit a676b8f2576ff85cbdbcf5b443214c0ebd5a5abd by Kristian Høgsberg (on behalf of Üstün Ergenoğlu) on 26/02/2012 at 19:00..
util: Comments before wl_list were a bit off, fixed the example usage.

Signed-off-by: Üstün Ergenoğlu <ego at ustun.fi>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a676b8f2576ff85cbdbcf5b443214c0ebd5a5abd

Git commit bf5a8fbb98282a607ba9120516985d17858b63a4 by Kristian Høgsberg (on behalf of Samuel Rødal) on 28/02/2012 at 19:23..
Rename client side wl_display_destroy() to wl_display_disconnect()

This avoids the clash with the wayland-server version with the same
name, and allows linking against both wayland-client and wayland-server
at the same time, which can be useful for unit testing purposes as
well as for nested compositing.

Without this there will be crashes as the wrong wl_display_destroy()
is called.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bf5a8fbb98282a607ba9120516985d17858b63a4

Git commit d224714afd087cc73d81a6a13baa72b30928bb6e by Kristian Høgsberg (on behalf of Samuel Rødal) on 28/02/2012 at 19:30..
Allow update function to not be set in wl_display_get_fd

Ignore previous patch, here's the correct version.

From 4e1bedaaf05b576f5191f8fe3a34904ab9707414 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal at nokia.com>
Date: Mon, 27 Feb 2012 15:17:20 +0100
Subject: [PATCH] Allow update function to not be set in wl_display_get_fd

The same check is done in connection_update, and now with
wl_display_flush() there's less need for the client to need to know the
connection mask.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d224714afd087cc73d81a6a13baa72b30928bb6e

Git commit bf53f2033d0f39bab59da783f5b13f9e3bfe7073 by Kristian Høgsberg on 28/02/2012 at 21:42..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/bf53f2033d0f39bab59da783f5b13f9e3bfe7073

Git commit bcafc467c50467026b3ea2c185903dc8775a8fef by Peter Hutterer on 29/02/2012 at 02:29..
protocol: fix make distcheck

Distribute all source files that we need for buildling.
Plus, remove the html file on make clean.

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

Git commit fcddfbb769a98b77ecd1e0452c6d8f275301cc0b by Peter Hutterer on 29/02/2012 at 02:45..
doc: add publican-created doctree

$> publican create --name=Wayland
unmodified otherwise

To build the tree to target formats, use
$> publican build --langs=en-US --formats=html,pdf

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

Git commit 6071b7da94e1fcc24e4f4608aed8d08383916467 by Peter Hutterer on 29/02/2012 at 02:46..
doc: Fix up title page with logo and author information

Abstract taken from http://wayland.freedesktop.org

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

Git commit 125289a0d7a8675cf9207c26d808f69f24465c49 by Peter Hutterer on 29/02/2012 at 02:46..
doc: Add architecture from the website

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

Git commit f48355cad31906873baff236cf9b7d3da1c8b0a8 by Peter Hutterer on 29/02/2012 at 02:46..
doc: Comment out some of the default chapters

I'll leave them in for now as a template for how things looked originally,
this can be removed later.

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

Git commit c3d56a05c6f01c3409ba8ad53765cb9dd84715b6 by Peter Hutterer on 29/02/2012 at 02:46..
Hook up autotools for publican

automake doesn't seem to provide a sensible method to install a directory of
stuff in $(docdir). Do it manually then.

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

Git commit a678fd53e16b7cb7eb2dbef218e89c649bdaabc7 by Peter Hutterer on 29/02/2012 at 02:46..
Generate the docbook description for the protocol from wayland.xml

Convert the wayland.xml protocol description to a docbook-compatible format
and hook it up to the publican sources.

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

Git commit 1070579d4b90c056eb627268ae55bac3fde6a9df by Peter Hutterer on 29/02/2012 at 02:46..
Hack up distcheck for publican

Publican requires a read-write source tree, see
http://bugzilla.redhat.com/show_bug.cgi?id=798484

And it currently cannot build out-of-tree, so we need to copy the sources
into the _build tree and generate Protocol.xml into that tree too (we'd have
to do this anyway since automake creates a read-only source tree, so we
can't just link).

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

Git commit b26774da5b907a71aa7c72ee1feb6dcde92b9fcb by Kristian Høgsberg on 29/02/2012 at 16:07..
Don't block when flushing a full protocol buffer

In case the client isn't responding, this will block the compositor.
Instead we flush with MSG_DONTWAIT, which lets us fill up the kernel buffer
as much as we can (after not returning EPOLLOUT anymore it still can take
80k more), and then disconnect the client if we get EAGAIN.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b26774da5b907a71aa7c72ee1feb6dcde92b9fcb

Git commit 72f9fd0a57b2244574b94408a59beb6308332a5c by Kristian Høgsberg on 29/02/2012 at 16:54..
Merge remote-tracking branch 'whot/publican'
https://invent.kde.org/neon/backports-jammy/wayland/commit/72f9fd0a57b2244574b94408a59beb6308332a5c

Git commit 089c977a3baf3d005de3d7058e643c8c42976e4f by Kristian Høgsberg (on behalf of Rob Bradford) on 29/02/2012 at 17:18..
protocol: Clarify the documentation for the fullscreen protocol
https://invent.kde.org/neon/backports-jammy/wayland/commit/089c977a3baf3d005de3d7058e643c8c42976e4f

Git commit eccc324ca81513c8c007863120ea2302a3133773 by Kristian Høgsberg on 29/02/2012 at 17:49..
configure.ac: Fix test-for-empty bug

From Gaetan Nadon:

./configure: line 11662: test: !=: unary operator expected
AM_CONDITIONAL([HAVE_XSLTPROC], [test $XSLTPROC != ""])
AM_CONDITIONAL([HAVE_PUBLICAN], [test $PUBLICAN != ""])

It shows up when you do not have publican. The usual "testing for blank" bug.
https://invent.kde.org/neon/backports-jammy/wayland/commit/eccc324ca81513c8c007863120ea2302a3133773

Git commit cb3e102620a4c8c1599b6e98fb1a37989f16f2ae by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 01/03/2012 at 16:50..
Fix wl_data_offer source destroy listener

The listener function implementation was getting a wrong pointer to the
wl_data_offer object because the resource parameter is actually the
data source and not the data offer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cb3e102620a4c8c1599b6e98fb1a37989f16f2ae

Git commit e7f6c509e2bc6437c858f95b37effee619bdfe17 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 01/03/2012 at 16:52..
Fix server crash when a client dies during a drag with an icon

If a client dies during a drag that it started using an icon surface,
the server could crash because the icon surface is not valid anymore.

Fix this by using a destroy listener to reset device->drag_surface to
nil when the surface is destroyed.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e7f6c509e2bc6437c858f95b37effee619bdfe17

Git commit 0d22d25b8740688a4f243c70cdfd32bc05993778 by Kristian Høgsberg on 02/03/2012 at 03:46..
wayland-server: Destroy resource before sending out delete_id event

In some cases, we send out events from the resource destructor and
those need to go out before we recycle the object ID.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d22d25b8740688a4f243c70cdfd32bc05993778

Git commit 86a5d17afe71626d8a4f48781805c040d97d6c69 by Pekka Paalanen on 02/03/2012 at 15:55..
scanner: emit event wrapper functions for server

Generate typed wrapper functions for sending events in a server.

This allows compile time type checking, unlike the existing method of
calling the variadic function wl_resource_post_event().

The stuff in wayland-server.h had to be slightly reordered to have all
(forward) declarations before use.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/86a5d17afe71626d8a4f48781805c040d97d6c69

Git commit 5ee70146c60b80fec446d698d0a55dd9211b36b2 by Pekka Paalanen on 02/03/2012 at 16:06..
server: use the event sending wrappers

This exposes some type mismatches that are fixed in the next commit.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/5ee70146c60b80fec446d698d0a55dd9211b36b2

Git commit 70db367ccc2910e065db4b14039ebe40e13f5181 by Pekka Paalanen on 02/03/2012 at 16:09..
server: fix event sending type mismatches

These were not bugs in practice, because the first (and only) field of
struct wl_surface is struct wl_resource.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/70db367ccc2910e065db4b14039ebe40e13f5181

Git commit 214e343311bea0db46810f7ba220405e44397db4 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 02/03/2012 at 16:45..
Terminate drag if data source is destroyed
https://invent.kde.org/neon/backports-jammy/wayland/commit/214e343311bea0db46810f7ba220405e44397db4

Git commit 62d25699540a71aa42f6414cd51cedfb8d3a3392 by Kristian Høgsberg on 02/03/2012 at 23:05..
tests: Add Unit tests for wl_map and wl_array data structures

We use a simple test-runner helper that runs each test in a separate
process and reports the pass/fail rate at the end.
https://invent.kde.org/neon/backports-jammy/wayland/commit/62d25699540a71aa42f6414cd51cedfb8d3a3392

Git commit e655059256e70452683d43bbec62e73bc480ff31 by Kristian Høgsberg on 03/03/2012 at 03:45..
tests: Print test status after running test

This way assert output will be a line by itself, which is easier to read
and lets editors such as emacs step through failed assertions.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e655059256e70452683d43bbec62e73bc480ff31

Git commit ac80c54f1883779762276c6161bd2a273bac6fe3 by Kristian Høgsberg on 03/03/2012 at 04:38..
connection: Export wl_connection_queue() so we can test it
https://invent.kde.org/neon/backports-jammy/wayland/commit/ac80c54f1883779762276c6161bd2a273bac6fe3

Git commit d2067508c148ba138c352779f6bd51526eaef91f by Kristian Høgsberg on 03/03/2012 at 04:42..
test-runner: Fix warnings
https://invent.kde.org/neon/backports-jammy/wayland/commit/d2067508c148ba138c352779f6bd51526eaef91f

Git commit 22834deca72cf8fd87ff689734f1ed4eeb2a3ed6 by Kristian Høgsberg on 03/03/2012 at 04:59..
tests: Add connection tests
https://invent.kde.org/neon/backports-jammy/wayland/commit/22834deca72cf8fd87ff689734f1ed4eeb2a3ed6

Git commit 87a1e599921228ddd5e55d1d71b7b37617348bde by Kristian Høgsberg on 03/03/2012 at 05:29..
tests: Add connection marshalling tests
https://invent.kde.org/neon/backports-jammy/wayland/commit/87a1e599921228ddd5e55d1d71b7b37617348bde

Git commit ab0c7c58b9437f4aacdd039f5885534a575ff60e by Kristian Høgsberg on 03/03/2012 at 05:40..
Add tests subdir to toplevel SUBDIRS variable

Artie spotted this.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab0c7c58b9437f4aacdd039f5885534a575ff60e

Git commit 8e2cac7ae4b36a81324a744d229a3a29690c214b by Kristian Høgsberg on 04/03/2012 at 18:40..
Add wl_array_for_each
https://invent.kde.org/neon/backports-jammy/wayland/commit/8e2cac7ae4b36a81324a744d229a3a29690c214b

Git commit bbddbc482979817d734c0eb46942b1b689b70cb9 by Kristian Høgsberg (on behalf of Gaetan Nadon) on 04/03/2012 at 20:01..
Fix distcheck where protocol.xsl was missing in the tarball

To reproduce, invoke distcheck from an out-of-source tree.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
https://invent.kde.org/neon/backports-jammy/wayland/commit/bbddbc482979817d734c0eb46942b1b689b70cb9

Git commit 7ee21abef0d07df5d74475f63d4b2b5991af4937 by Kristian Høgsberg (on behalf of Gaetan Nadon) on 04/03/2012 at 20:02..
publican: support out-of-source tree build

When srcdir!=builddir, there is no way to tell publican that the source
is in srcdir rather than builldir. The workaround is to copy the source
files from srcdir to builddir. To retain the en-US final destination
name, the source directory is renamed to en_US.

Tested-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7ee21abef0d07df5d74475f63d4b2b5991af4937

Git commit bb4b05bc8d0df6dc119a20bdaad30a0849a028be by Kristian Høgsberg (on behalf of Gaetan Nadon) on 04/03/2012 at 20:03..
check: connection-test fails to link to ffi

This prevents distcheck from completing.
Moving the -lffi at the end of the command fixes the problem.

Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
https://invent.kde.org/neon/backports-jammy/wayland/commit/bb4b05bc8d0df6dc119a20bdaad30a0849a028be

Git commit 814a626087546387331fd197b62b343dea22907e by Kristian Høgsberg on 05/03/2012 at 15:31..
scanner: Add since attribute

This will help us document when a request or event was added to the protocol.
https://invent.kde.org/neon/backports-jammy/wayland/commit/814a626087546387331fd197b62b343dea22907e

Git commit c1804b5735f30f87949115ac8739376485df3fdb by Kristian Høgsberg (on behalf of Gaetan Nadon) on 05/03/2012 at 15:57..
tests: makefile error: missing test-runner.h

Detected by running distcheck

Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c1804b5735f30f87949115ac8739376485df3fdb

Git commit bbebd304fba6567cf3475d5f850d26b16ca516fe by Kristian Høgsberg on 06/03/2012 at 02:02..
TOOD: Frame based input done
https://invent.kde.org/neon/backports-jammy/wayland/commit/bbebd304fba6567cf3475d5f850d26b16ca516fe

Git commit b4351bc08ef8dca4ebe91b173350e3e8e9b8b14b by Kristian Høgsberg on 06/03/2012 at 02:14..
tests: More wl_map tests
https://invent.kde.org/neon/backports-jammy/wayland/commit/b4351bc08ef8dca4ebe91b173350e3e8e9b8b14b

Git commit efab74e956ba7b93a11c708db78fe0e20b578376 by Kristian Høgsberg on 06/03/2012 at 02:38..
tests: Add wl_list tests
https://invent.kde.org/neon/backports-jammy/wayland/commit/efab74e956ba7b93a11c708db78fe0e20b578376

Git commit d86718fc33d22a8719f0d0773aad5edaa495d36c by Kristian Høgsberg on 06/03/2012 at 02:40..
tests: Simplify connection tests a bit
https://invent.kde.org/neon/backports-jammy/wayland/commit/d86718fc33d22a8719f0d0773aad5edaa495d36c

Git commit b2afde6f184dfe1c3cca656dc1f9862a45bfa24d by Kristian Høgsberg on 06/03/2012 at 02:53..
tests: Add more marshal tests
https://invent.kde.org/neon/backports-jammy/wayland/commit/b2afde6f184dfe1c3cca656dc1f9862a45bfa24d

Git commit 4bc5a0ab2c34c2541148147e6e1be774fc447e53 by Kristian Høgsberg on 06/03/2012 at 03:26..
tests: Add demarshal tests
https://invent.kde.org/neon/backports-jammy/wayland/commit/4bc5a0ab2c34c2541148147e6e1be774fc447e53

Git commit 46df9232faa5f2e154ad14b6b10ca2475dbbf83b by Kristian Høgsberg on 06/03/2012 at 03:29..
test-runner.c: Consolidate test running code
https://invent.kde.org/neon/backports-jammy/wayland/commit/46df9232faa5f2e154ad14b6b10ca2475dbbf83b

Git commit 73d4a53672c66fb2ad9576545a5aae3bad2483ed by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 10/03/2012 at 21:01..
Flush the connection if we have to many marshaled fds

The buffer used by wl_connection_data to receive a cmsg is 128 bytes
long. This can hold at most 28 fds but when a cmsg is generated for
sending the fds, there is no check for this limitation. The man page
for recvmsg does not show any way of recovering from MSG_CTRUNC, that
happens when the buffer supplied for cmsg is too short.

Fix this by flushing the data to be written instead of generating a
cmsg buffer longer than the maximum.
https://invent.kde.org/neon/backports-jammy/wayland/commit/73d4a53672c66fb2ad9576545a5aae3bad2483ed

Git commit ccb78667b9a205fe1804c6b43bf3222b2da52501 by Kristian Høgsberg on 16/03/2012 at 13:26..
doc: Don't list directories in list of files to install

The find expression was listing the xml_tmp directory, because it matched
the -prune rule.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ccb78667b9a205fe1804c6b43bf3222b2da52501

Git commit d4ae9fb5f8b64894d59b2e8c91db8076e4b9603e by Kristian Høgsberg on 20/03/2012 at 16:32..
TODO: Pull in updated TODO list from 1.0 roadmap email
https://invent.kde.org/neon/backports-jammy/wayland/commit/d4ae9fb5f8b64894d59b2e8c91db8076e4b9603e

Git commit 3c5d9694db6f8bcbebc9a8d1ae3afd8e61530089 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 20/03/2012 at 19:15..
event-loop: always do the post-dispatch check

The post-dispatch check on wl_event_loop_dispatch() was not being run
if epoll_wait returned 0 events, making the check unreliable.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3c5d9694db6f8bcbebc9a8d1ae3afd8e61530089

Git commit 707623f0cb21391f0f7e62c79cb0df9cb6329aba by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 20/03/2012 at 19:49..
test: add a unit test for the event loop post dispatch check
https://invent.kde.org/neon/backports-jammy/wayland/commit/707623f0cb21391f0f7e62c79cb0df9cb6329aba

Git commit ecfb79bd7180da4a053338532fe633d7d70d6ead by Kristian Høgsberg (on behalf of Üstün Ergenoğlu) on 20/03/2012 at 20:34..
configure: Add option to disable building documentation.

Signed-off-by: Üstün Ergenoğlu <ego at ustun.fi>
https://invent.kde.org/neon/backports-jammy/wayland/commit/ecfb79bd7180da4a053338532fe633d7d70d6ead

Git commit 81ffaa04b9c17f868844294aa107155f397650f2 by Kristian Høgsberg (on behalf of Bill Spitzak) on 20/03/2012 at 20:52..
Check arguments to wl_resource_post_error in gcc

The attached patch turns on printf argument warnings for this function,
which I found was being called incorrectly at least once in the wayland
source code.
https://invent.kde.org/neon/backports-jammy/wayland/commit/81ffaa04b9c17f868844294aa107155f397650f2

Git commit f48bd0714a9b77935fab679a7f03bb26b309e82b by Kristian Høgsberg on 21/03/2012 at 14:30..
tests: Add test case for freeing source with pending data
https://invent.kde.org/neon/backports-jammy/wayland/commit/f48bd0714a9b77935fab679a7f03bb26b309e82b

Git commit 80f4f0d5127ebc8d5e35969a29691cf61a79997d by Kristian Høgsberg (on behalf of Jonas Ådahl) on 21/03/2012 at 14:30..
event-loop: Use two-step destruction of event loop sources.

Instead of directly freeing an event source upon removal put it in a
queue later handled by the event loop; either after a dispatch or upon
event loop destruction.

This is necessary to avoid already queued up event sources to be freed
during some other dispatch callback, causing segmentation faults when
the event loop later tries to handle an event from the freed source.

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

Git commit 7746a80e2ab829f16fa328562ec6e5664beb624f by Kristian Høgsberg on 21/03/2012 at 14:32..
tests: Remove debug printf
https://invent.kde.org/neon/backports-jammy/wayland/commit/7746a80e2ab829f16fa328562ec6e5664beb624f

Git commit 75480a1eebdf4bf05349d6d96b9abeea36085b99 by Kristian Høgsberg (on behalf of Scott Moreau) on 22/03/2012 at 16:34..
Add protocol for axis events
https://invent.kde.org/neon/backports-jammy/wayland/commit/75480a1eebdf4bf05349d6d96b9abeea36085b99

Git commit cab70c9e5d8c38260a07bb1ddb7618826a120465 by Kristian Høgsberg on 23/03/2012 at 04:27..
connection: Set n_fds_out to 0 when we send out the fds

This needs to happen always, not just when the fd buffer overflows.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cab70c9e5d8c38260a07bb1ddb7618826a120465

Git commit 1c5578e87fc0fec0cf585c586462b982fa296101 by Kristian Høgsberg on 23/03/2012 at 04:48..
connection: Just look at buffer size and remove redundant n_fds_out

Instead of maintaining a count of the fds in the buffer, just compute
that from the buffer size.  That way we don't get out of sync.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1c5578e87fc0fec0cf585c586462b982fa296101

Git commit f67f6395b16a972003d4a9b6034a893932ac63fd by Kristian Høgsberg on 23/03/2012 at 15:32..
tests: Use different connections for read and write tests

The connection tests so far only use one connection at a time, but this
prepares for tests that use a connection on both sides of the socket.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f67f6395b16a972003d4a9b6034a893932ac63fd

Git commit 0ca52cce98325b1fdae9046474e70246ae4c87e2 by Kristian Høgsberg on 23/03/2012 at 15:41..
tests: Add marshal+demarshal connection test
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ca52cce98325b1fdae9046474e70246ae4c87e2

Git commit 33ad8a3315b22a38ddae116314e081488e5f3ee4 by Kristian Høgsberg on 23/03/2012 at 20:56..
connection-test: Store expected result in struct marshal_data
https://invent.kde.org/neon/backports-jammy/wayland/commit/33ad8a3315b22a38ddae116314e081488e5f3ee4

Git commit fa4769cadd1ca8a8c4994d7704f6d9298a627251 by Kristian Høgsberg on 23/03/2012 at 20:57..
connection-test: Add more test cases
https://invent.kde.org/neon/backports-jammy/wayland/commit/fa4769cadd1ca8a8c4994d7704f6d9298a627251

Git commit b01ae077274e579bd09476086b6dc1f3685fc466 by Kristian Høgsberg on 24/03/2012 at 18:27..
connection-test: Test fd transport
https://invent.kde.org/neon/backports-jammy/wayland/commit/b01ae077274e579bd09476086b6dc1f3685fc466

Git commit 9086b60d81a48f14b6c48b30e307caa053568548 by Kristian Høgsberg on 24/03/2012 at 18:35..
connection-test: Add test case to stress connection buffers

This catches the bug fixed in cab70c9e5d8c38260a07bb1ddb7618826a120465.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9086b60d81a48f14b6c48b30e307caa053568548

Git commit a0e590a0f3ea87b7616cf197edd240b7b99fcc2e by Kristian Høgsberg (on behalf of U. Artie Eoff) on 24/03/2012 at 18:37..
Add simple memory leak check to all tests.

Wrap all tests with a memory balance check to detect potential
memory leaks.
Fixed a few tests that had memory leaks contained in the tests
themselves.

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

Git commit 83685c506e76212ae4e5cb722205d98d3b0603b9 by Kristian Høgsberg on 26/03/2012 at 20:33..
Remove wl_buffer.damage and simplify shm implementation
https://invent.kde.org/neon/backports-jammy/wayland/commit/83685c506e76212ae4e5cb722205d98d3b0603b9

Git commit 897a4ec62d1ec531c9868bdef704500b1043c59b by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 27/03/2012 at 20:32..
data-device: notify the compositor about new drag icons

Let the compositor use a listener to be notified when a new drag icon
is set up.
https://invent.kde.org/neon/backports-jammy/wayland/commit/897a4ec62d1ec531c9868bdef704500b1043c59b

Git commit 3891c73511bf4e42e2940b65a148e4a1a016bf7f by Kristian Høgsberg on 27/03/2012 at 20:36..
Fix formatting warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/3891c73511bf4e42e2940b65a148e4a1a016bf7f

Git commit 3d7f7e2f4aadda84e7a1289f2f19a8be9344e436 by Kristian Høgsberg (on behalf of Peter Hutterer) on 29/03/2012 at 03:04..
doc: move documentation from the tex file to docbook

And remove the .tex file

Minor changes:
- where the .tex file had some interface descriptions, the docbook source
  now links to the actual protocol. The exception here is the shared object
  cache which is simply a <programlisting> until the protocol spec exists.
- "Implementation" section skipped, this seems in need of an update anyway
  and may be better documented elsewhere (wiki?)

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

Git commit adf300dc135bd1467ee89b0145f391a26e4c531e by Kristian Høgsberg (on behalf of Peter Hutterer) on 29/03/2012 at 03:05..
doc: remove unused example files

These files were left in as examples, we have real-world examples now.

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

Git commit 966e8ec9c0f8b46c28935bf3d5e7e84fe09b85ab by Kristian Høgsberg (on behalf of Peter Hutterer) on 29/03/2012 at 03:05..
doc: rename Procotol to ProtocolSpec and WaylandProtocol to Protocol

The former is the actual specification, the latter notes about the protocol.

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

Git commit f68e156b8fa2dcebfaf1e00c8a930545317ed785 by Kristian Høgsberg (on behalf of Peter Hutterer) on 29/03/2012 at 03:05..
doc: consistently indent the xml files by 2 spaces

2 spaces is enough for xml, otherwise we end up with too little room for the
actual text.

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

Git commit 6c57ab016d692ef7ed141689a6b5afa2c8f5d2a5 by Kristian Høgsberg on 29/03/2012 at 03:13..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/6c57ab016d692ef7ed141689a6b5afa2c8f5d2a5

Git commit 4fe458346cc8a13c6b46d33620b6697d6f3e2086 by Kristian Høgsberg on 29/03/2012 at 18:03..
Remove unused bits from wayland-server.h
https://invent.kde.org/neon/backports-jammy/wayland/commit/4fe458346cc8a13c6b46d33620b6697d6f3e2086

Git commit 5b72fc7528aa9f7c655dd49a2227cfd1e3feeb76 by Kristian Høgsberg on 29/03/2012 at 18:11..
docs: Touch ouput dir Wayland to update timestamp

Prevents rebuild every time.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5b72fc7528aa9f7c655dd49a2227cfd1e3feeb76

Git commit 0e81a0b157c7c8d7c02a8519ac56f3d601a8b287 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 30/03/2012 at 13:32..
configure: add -Wextra -Wno-unused-parameter

This adds more gcc warnings that should be useful, and suppresses the
unused parameter warnings that are not wanted.

Most importantly, this change enables warnings about comparison between
signed and unsigned.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0e81a0b157c7c8d7c02a8519ac56f3d601a8b287

Git commit 00ea1701f261c256e9d1ed1c4dc2d87b86e624a9 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 30/03/2012 at 13:32..
server: fix signedness in wl_client_connection_data

The variables opcode and size were unsigned, which lead to warnings
about comparisons of signed vs. unsigned.

Change these variable to signed. Their usage never relies on being
unsigned.

This also fixes (an assumed) printf format string problem, where these
were printed with %d, not %u.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/00ea1701f261c256e9d1ed1c4dc2d87b86e624a9

Git commit c2a405be5aeb3b1a320aa50e7049943d7cc09e90 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 30/03/2012 at 14:09..
shm: fix cosmetic gcc warnings

Fix warning: 'static' is not at beginning of declaration

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c2a405be5aeb3b1a320aa50e7049943d7cc09e90

Git commit 03c40a8c99e1d9c63cb5cb0a70fc2272163e8be6 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 30/03/2012 at 14:12..
scanner: fix a signedness warning

Trivial fix to a
warning: comparison between signed and unsigned integer expressions

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/03c40a8c99e1d9c63cb5cb0a70fc2272163e8be6

Git commit 4560b6b6b4d19a65350591d9bbc83df1cdc7bd13 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 30/03/2012 at 14:14..
server: fix button signedness in wl_grab_interface

wl_input_device::grab_button is unsigned but the button parameter to
wl_grab_interface::button is signed. This lead to a warning in
data-device.c.

The button number is unsigned in the protocol, so make it unsigned in
the wl_grab_interface API, too. Fixes the compiler warning "comparison
between signed and unsigned integer expressions".

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/4560b6b6b4d19a65350591d9bbc83df1cdc7bd13

Git commit 485dd7b6e2691e7bd0016c5363c4444adc429e30 by Kristian Høgsberg on 30/03/2012 at 14:24..
shm: Fix stride signedness in protocol

Make stride argument of wl_shm.create_buffer a signed integer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/485dd7b6e2691e7bd0016c5363c4444adc429e30

Git commit ba32db95321608b11f9283c0475812e1dc9897a1 by Kristian Høgsberg on 30/03/2012 at 14:28..
Move DIV_ROUNDUP out of public header, remove unused ALIGN
https://invent.kde.org/neon/backports-jammy/wayland/commit/ba32db95321608b11f9283c0475812e1dc9897a1

Git commit 3fb304bb3e339ef67764b2d9bd5155bc10905255 by Kristian Høgsberg on 30/03/2012 at 14:43..
connection.c: Fix signedness warnings
https://invent.kde.org/neon/backports-jammy/wayland/commit/3fb304bb3e339ef67764b2d9bd5155bc10905255

Git commit 0ca75a4f3244a657e5583176f4ac521ea71ca0b0 by Kristian Høgsberg on 30/03/2012 at 14:43..
wayland-util: Fix wl_array signedness warnings
https://invent.kde.org/neon/backports-jammy/wayland/commit/0ca75a4f3244a657e5583176f4ac521ea71ca0b0

Git commit 3cddb3c692acd3536a7cc8542a29f0cc3c0ac3d6 by Kristian Høgsberg on 30/03/2012 at 15:27..
Fix remaining signedness errors

We can change the data type for 'size' but we have to cast len to size_t
for the comparisons with sizeof results.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3cddb3c692acd3536a7cc8542a29f0cc3c0ac3d6

Git commit 68cf7a1a425c986304ae179a58279d43210e790f by Kristian Høgsberg (on behalf of Alex Wu) on 03/04/2012 at 02:12..
wayland-utils: add wl_list_for_each_reverse_safe macro.

Add the safe version for wl_list_for_each_reverse
https://invent.kde.org/neon/backports-jammy/wayland/commit/68cf7a1a425c986304ae179a58279d43210e790f

Git commit aa777e5b10e17d12c4bb6440f7c659d2a12191f5 by Kristian Høgsberg on 03/04/2012 at 16:34..
shm: Allocate shm buffers through new wl_shm_pool interface

There's a big cost to setting up and tearing down a mmap and faulting in
the pages to back it.  For cases where we're continuously reallocating
shm wl_buffers (resizing a surface, typically) it is a big performance
improvement to be able to reuse a mmap area.  This change makes the shm
buffer allocation a two step process: first allocate a wl_shm_pool, then
allocate a buffer from the pool.  The wl_shm_pool encapsulate the shared
memory pool, and lets clients allocate wl_buffers backed by chunks of that
memory.  Buffers are allocated at an offset into the pool, so it's possible
to create multiple buffers from one pool, for example for icons or cursor
images.
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa777e5b10e17d12c4bb6440f7c659d2a12191f5

Git commit e6a9e1b302ee1f09ea5ed7b54470145419d7b51f by Benjamin Franzke on 06/04/2012 at 13:54..
wayland-util.h: Include stddef.h for size_t
https://invent.kde.org/neon/backports-jammy/wayland/commit/e6a9e1b302ee1f09ea5ed7b54470145419d7b51f

Git commit a13aab4e15f7defe8207dfc18277321166577d7a by Kristian Høgsberg (on behalf of Jørgen Lind) on 11/04/2012 at 12:17..
remove superfluous functions
https://invent.kde.org/neon/backports-jammy/wayland/commit/a13aab4e15f7defe8207dfc18277321166577d7a

Git commit 5535f155d8567a07596660a18b6d38a46acfe987 by Kristian Høgsberg on 12/04/2012 at 02:27..
Switch protocol to using serial numbers for ordering events and requests

The wayland protocol, as X, uses timestamps to match up certain
requests with input events.  The problem is that sometimes we need to
send out an event that doesn't have a corresponding timestamped input
event.  For example, the pointer focus surface goes away and new
surface needs to receive a pointer enter event.  These events are
normally timestamped with the evdev event timestamp, but in this case,
we don't have a evdev timestamp.  So we have to go to gettimeofday (or
clock_gettime()) and then we don't know if it's coming from the same
time source etc.

However for all these cases we don't need a real time timestamp, we
just need a serial number that encodes the order of events inside the
server.  So we introduce a serial number mechanism that we can use to
order events.  We still need real-time timestamps for actual input
device events (motion, buttons, keys, touch), to be able to reason
about double-click speed and movement speed so events that correspond to user input carry both a serial number and a timestamp.

The serial number also give us a mechanism to key together events that
are "logically the same" such as a unicode event and a keycode event,
or a motion event and a relative event from a raw device.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5535f155d8567a07596660a18b6d38a46acfe987

Git commit 6802eaa68af90227b6614a84e7d3129e1f7a8303 by Kristian Høgsberg on 12/04/2012 at 19:52..
Introduce wl_signal

This is mostly renaming and consolidating the listener_list pattern
into something more concise and reusable.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6802eaa68af90227b6614a84e7d3129e1f7a8303

Git commit 8e5866a54d068bd7d4228cdd257256962744ded0 by Kristian Høgsberg on 12/04/2012 at 21:43..
Update TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/8e5866a54d068bd7d4228cdd257256962744ded0

Git commit 18a770c80d59ef672e54688761bc8d0d9e660e12 by Kristian Høgsberg (on behalf of Neil Roberts) on 12/04/2012 at 21:54..
Add a public header for the version number

This adds a public header so that applications can get the Wayland
version number at compile time. This can be used to make applications
that support compiling against multiple versions of Wayland.

There is a separate installed header called cogl-version.h which gets
included by both wayland-client.h and wayland-server.h

The canonical place for the version number is the configure.ac script
which splits it into three separate m4 defines for the major, minor
and micro version. These are copied into the generated
wayland-version.h header using AC_SUBST. There is also a string form
of the complete version number.

The version number is now also automatically copied into the two .pc
files.

Because the major, minor and micro parts are required it is no longer
possible to leave the version number as 'master' when building from
git. Most projects seem to immediately bump the git repo to a fake
version number (usually odd) after making a release so that there is
always a relative number that can be used for comparison. This patch
sets the git version to 0.99.0 under the assumption that the next
release will be 1.0.0.
https://invent.kde.org/neon/backports-jammy/wayland/commit/18a770c80d59ef672e54688761bc8d0d9e660e12

Git commit fa5f7b11918727a2665e16bcd1a61ad49b0ae195 by Kristian Høgsberg on 13/04/2012 at 13:53..
server: Add client destroy signal
https://invent.kde.org/neon/backports-jammy/wayland/commit/fa5f7b11918727a2665e16bcd1a61ad49b0ae195

Git commit ac06144cc94c893b0a8ae53ed7e241f3bd7631e4 by Kristian Høgsberg on 13/04/2012 at 14:11..
tests: Fix signedness warnings
https://invent.kde.org/neon/backports-jammy/wayland/commit/ac06144cc94c893b0a8ae53ed7e241f3bd7631e4

Git commit d8b66a00f414da3c441258d0ff1972e6120157aa by Kristian Høgsberg on 13/04/2012 at 14:13..
tests: Fix warning in  memory leak assert
https://invent.kde.org/neon/backports-jammy/wayland/commit/d8b66a00f414da3c441258d0ff1972e6120157aa

Git commit b68b5e9e0cfb668dd34843656664a01bd304956c by Kristian Høgsberg on 13/04/2012 at 14:13..
tests: Make leak check work again by setting default visibility for malloc/free

We compile the test cases with -fvisibility=hidden which makes
our malloc/free wrappers fail to override system malloc/free.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b68b5e9e0cfb668dd34843656664a01bd304956c

Git commit 74aec06625adc220f674c526892e9839ecec2db3 by Kristian Høgsberg on 13/04/2012 at 14:39..
data-device: Clear drag focus when we end the drag-and-drop

Otherwise we'll see a spurious leave event when we start the next dnd.
https://invent.kde.org/neon/backports-jammy/wayland/commit/74aec06625adc220f674c526892e9839ecec2db3

Git commit a9f951b003e024d1cfaaf79751749c65388c5937 by Kristian Høgsberg on 13/04/2012 at 16:48..
data-device: Record the serial number for the current selection

And reject setting a selection that's older than our current selection.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a9f951b003e024d1cfaaf79751749c65388c5937

Git commit 677c5180e67be18b7a0867fafb7f205b57a6e9ff by Kristian Høgsberg on 13/04/2012 at 16:51..
data-device: Take away pointer focus when we start a dnd drag
https://invent.kde.org/neon/backports-jammy/wayland/commit/677c5180e67be18b7a0867fafb7f205b57a6e9ff

Git commit b7c7963f160f951fbc8ef10923a5264fec28cbd7 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 17/04/2012 at 19:02..
Fix printf format warnings

connection.c:530: warning: format '%lu' expects type 'long unsigned
int', but argument 2 has type 'unsigned int'

/connection.c:560: warning: format '%lu' expects type 'long unsigned
int', but argument 2 has type 'unsigned int'

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b7c7963f160f951fbc8ef10923a5264fec28cbd7

Git commit 84464a3e9b5f16ab805ee3166901dd264a3898a7 by Pekka Paalanen on 19/04/2012 at 09:12..
tests: put common test source files in a variable

Makes all test targets have the same common make dependencies.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/84464a3e9b5f16ab805ee3166901dd264a3898a7

Git commit b1d4eb24c6079468f57b4706358031461ee44130 by Pekka Paalanen on 19/04/2012 at 09:14..
tests: fail build if NDEBUG is defined

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b1d4eb24c6079468f57b4706358031461ee44130

Git commit 56426d8a4aba52bacec85737db1523d8acfdbbe4 by Pekka Paalanen on 19/04/2012 at 11:06..
tests: stylish test-runner.c

Fix a typo, add a comment, change the print format, and add a variable
that will ease implementing tests that are expected to fail.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/56426d8a4aba52bacec85737db1523d8acfdbbe4

Git commit bb74adbc4d77bd3f787041ad236b6d5a5014b7ba by Pekka Paalanen on 19/04/2012 at 11:26..
tests: add support for tests expected to fail

Add a new macro FAIL_TEST that can be used to define tests that are
supposed to fail. To distinguish the supposed outcome of a test, add a
field to 'struct test'.

However, simply adding a field to 'struct test' will make all tests past
the first one in an executable to be garbage. Apparently, the variables
of type 'struct test' have different alignment when put into a special
section than otherwise, and the compiler will get the skip from one
'struct test' to the next wrong.

Explicitly specify the alingment of 'struct test' to be 16 bytes, which
is what it seems to be in the special section on x86_64.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/bb74adbc4d77bd3f787041ad236b6d5a5014b7ba

Git commit 55489883c4f47e2716270be0085be6b7c99d3b18 by Pekka Paalanen on 19/04/2012 at 11:46..
tests: add sanity-test

Test the testing framework itself, so that it catches the errors we
expect it to.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/55489883c4f47e2716270be0085be6b7c99d3b18

Git commit 41570a5ed979f8e277b124caa7023abcb726b5f3 by Kristian Høgsberg on 19/04/2012 at 16:07..
tests: Make sure unused malloc() doesn't get optimized away
https://invent.kde.org/neon/backports-jammy/wayland/commit/41570a5ed979f8e277b124caa7023abcb726b5f3

Git commit d44074900d214e1d992c03152f9f43269bea7eba by Kristian Høgsberg on 19/04/2012 at 16:37..
tests: Add more sanity test to make sure we catch different failure modes
https://invent.kde.org/neon/backports-jammy/wayland/commit/d44074900d214e1d992c03152f9f43269bea7eba

Git commit 2896b6a22040dab70655bc271025f99ba92e6bb1 by Kristian Høgsberg (on behalf of Scott Moreau) on 19/04/2012 at 16:48..
protocol: Add ping event and corresponding pong request
https://invent.kde.org/neon/backports-jammy/wayland/commit/2896b6a22040dab70655bc271025f99ba92e6bb1

Git commit e0561ac68d4db23906ca7e61bf191da4451711fd by Pekka Paalanen on 20/04/2012 at 11:58..
tests: detect fd leaks

Detect file descriptor leaks in tests.

Add a sanity test to verify that we catch the leaks.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/e0561ac68d4db23906ca7e61bf191da4451711fd

Git commit 7c0aa1a4a3aca023cbdad0a97de124a77cb98aa1 by Pekka Paalanen on 20/04/2012 at 11:58..
tests: plug fd leaks in free_source_with_data

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7c0aa1a4a3aca023cbdad0a97de124a77cb98aa1

Git commit da6b1a8e4774234c2dbdd9f2875de21b41086d00 by Pekka Paalanen on 20/04/2012 at 12:06..
tests: support testing fd inheritance over exec

Add facility for testing how (many) file descriptors survive an exec.
This allows implementing O_CLOEXEC tests.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/da6b1a8e4774234c2dbdd9f2875de21b41086d00

Git commit 7134a439c1a028cad51a5160f56c84a961be9f72 by Pekka Paalanen on 20/04/2012 at 13:26..
os: wrap socket(SOCK_CLOEXEC) calls

Some system C libraries do not offer SOCK_CLOEXEC flag.

Add a new header for OS compatibility wrappers. Wrap socket() calls into
wl_os_socket_cloexec() which makes sure the O_CLOEXEC flag gets set on
the file descriptor.

On systems having SOCK_CLOEXEC this uses the old socket() call, and
falls back if it fails due to the flag (kernel not supporting it).

wayland-os.h is private and not exported.

Add close-on-exec tests for both normal and forced fallback paths.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7134a439c1a028cad51a5160f56c84a961be9f72

Git commit f52a901f88c842b6cb657e50792050978cb47c50 by Pekka Paalanen on 20/04/2012 at 13:28..
tests: add .gitignore

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/f52a901f88c842b6cb657e50792050978cb47c50

Git commit a5df3de101f88f16aa8c3325825501a47525d7d3 by Kristian Høgsberg (on behalf of Casey Dahlin) on 20/04/2012 at 14:45..
Add wl_surface.enter and wl_surface.leave events

These events let us track when a surface enters or leaves the scanout region of
an output. This way if a surface moves to another output and that output is on
a different card, we can suggest the toolkit reallocate its buffers
appropriately.

Signed-off-by: Casey Dahlin <cdahlin at redhat.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a5df3de101f88f16aa8c3325825501a47525d7d3

Git commit 9d37682db32f16eb69a76d21569af6cac0d3d08c by Kristian Høgsberg on 20/04/2012 at 17:43..
Update TODO

Casey did surface.enter/leave.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9d37682db32f16eb69a76d21569af6cac0d3d08c

Git commit 0d6dea17b4e25b775dcad44b024137a293fe06bf by Kristian Høgsberg on 22/04/2012 at 03:50..
connection: Dont put fds in the connection until we send the closure
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d6dea17b4e25b775dcad44b024137a293fe06bf

Git commit 1901d66ffca2a10a3f24b918e5a4de56646f4f11 by Kristian Høgsberg on 22/04/2012 at 17:49..
connection: Move closure object out of wl_connection
https://invent.kde.org/neon/backports-jammy/wayland/commit/1901d66ffca2a10a3f24b918e5a4de56646f4f11

Git commit 243672cd3ca35a6418176fbd16db033f40b92b90 by Kristian Høgsberg on 22/04/2012 at 18:17..
connection: Make sure we can invoke closures built with wl_closure_vmarshal()
https://invent.kde.org/neon/backports-jammy/wayland/commit/243672cd3ca35a6418176fbd16db033f40b92b90

Git commit e7dd32710f3fcff0bbbaf33807fb65b78a43e2fb by Kristian Høgsberg on 22/04/2012 at 18:17..
tests: Test invoking closures built with wl_closure_vmarshal()
https://invent.kde.org/neon/backports-jammy/wayland/commit/e7dd32710f3fcff0bbbaf33807fb65b78a43e2fb

Git commit 1f827a477607d0a9dc9520fc6c53c936befb663d by Pekka Paalanen on 25/04/2012 at 06:32..
os: remove unneeded errno assignment

If socket() fails, it will return failure code. No need to reset errno
beforehand.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/1f827a477607d0a9dc9520fc6c53c936befb663d

Git commit 3b29783dc8f0e856afce7a9edf10c0ca4d12f284 by Pekka Paalanen on 25/04/2012 at 06:32..
os: define SOCK_CLOEXEC on Linux

If it's not already defined, and we are on Linux, #define it. This gets
rid of a load of #ifdefs. This should also allow to use it when the
kernel supports it, but the libc does not define it.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/3b29783dc8f0e856afce7a9edf10c0ca4d12f284

Git commit 1463a41f893b0705c30035182bb070a95f822b1c by Pekka Paalanen on 25/04/2012 at 06:32..
os: wrap F_DUPFD_CLOEXEC

Some system C libraries do not have F_DUPFD_CLOEXEC. Provide a fallback.

Add tests for the new wl_os_dupfd_cloexec() wrapper.

Add per-wrapper call counters in os_wrappers-test.c. Makes it easier to
determine the minimum required number of wrapped calls.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/1463a41f893b0705c30035182bb070a95f822b1c

Git commit 2ccaf918ab4d5185066b84d4dd6050fa76afdd9e by Pekka Paalanen on 25/04/2012 at 06:32..
tests: silence warnings from pipe()

warning: ignoring return value of ‘pipe’, declared with attribute
warn_unused_result

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/2ccaf918ab4d5185066b84d4dd6050fa76afdd9e

Git commit 35d5053c622a2b1502b71230c7755a8005b36301 by Pekka Paalanen on 25/04/2012 at 06:37..
os: wrap recvmsg(MSG_CMSG_CLOEXEC)

Some system C libraries do not have MSG_CMSG_CLOEXEC. This flag would
automatically set O_CLOEXEC flag on any received file descriptors.

Provide a fallback that does it manually. If setting CLOEXEC fails, the
file descriptor is closed immediately, which will lead to failures but
avoid leaks. However, setting CLOEXEC is not really expected to fail
occasionally.

Add tests for the wrapper. The setup is copied from connection-test.c.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/35d5053c622a2b1502b71230c7755a8005b36301

Git commit b2eaf870cf8e8cb842ba29ea4718b596101252a6 by Pekka Paalanen on 25/04/2012 at 06:37..
os: wrap epoll_create

Some system C libraries do not have epoll_create1() nor EPOLL_CLOEXEC,
provide a fallback.

Add tests for the wrapper.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b2eaf870cf8e8cb842ba29ea4718b596101252a6

Git commit ff50f6bfc44bd072aa8806f976718d30468fa2c2 by Pekka Paalanen on 25/04/2012 at 06:37..
os: wrap accept4(SOCK_CLOEXEC)

Some system C libraries do not have SOCK_CLOEXEC, and completely miss
accept4(), too. Provide a fallback for this case.

This changes the behaviour: no error messages are printed now for
failing to set CLOEXEC but the file descriptor is closed.

The unit test for this wrapper is NOT included.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/ff50f6bfc44bd072aa8806f976718d30468fa2c2

Git commit 9f91feb5d9c56d7047dbeac4e1612190ca77ab4d by Pekka Paalanen on 25/04/2012 at 06:37..
server: do not create wl_client if accept() failed

Spotted during wl_os_accept_cloexec() work.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/9f91feb5d9c56d7047dbeac4e1612190ca77ab4d

Git commit f72c0c2a241a0cce353761ee0bd7e6809e4bfced by Kristian Høgsberg on 25/04/2012 at 14:12..
Add COPYING
https://invent.kde.org/neon/backports-jammy/wayland/commit/f72c0c2a241a0cce353761ee0bd7e6809e4bfced

Git commit 5be33520b3416d2b0b138d5d30ddcf6776918007 by Kristian Høgsberg on 25/04/2012 at 14:45..
Merge remote-tracking branch 'pq/for-krh'
https://invent.kde.org/neon/backports-jammy/wayland/commit/5be33520b3416d2b0b138d5d30ddcf6776918007

Git commit bf1c2f32574f98ccdda5eb6d89cbf23d3f723906 by Kristian Høgsberg on 26/04/2012 at 12:06..
tests: Just list tests under the TESTS variable
https://invent.kde.org/neon/backports-jammy/wayland/commit/bf1c2f32574f98ccdda5eb6d89cbf23d3f723906

Git commit 4fd3696f98e339a1d8ac763f84fc6621f14b95f6 by Kristian Høgsberg on 27/04/2012 at 15:26..
Drop stale prototype
https://invent.kde.org/neon/backports-jammy/wayland/commit/4fd3696f98e339a1d8ac763f84fc6621f14b95f6

Git commit ac73a74f43bada3e6ed8e7e49e9f5e02b22f7d46 by Kristian Høgsberg on 27/04/2012 at 15:28..
Add wl_client_get_object()
https://invent.kde.org/neon/backports-jammy/wayland/commit/ac73a74f43bada3e6ed8e7e49e9f5e02b22f7d46

Git commit 35fc72eb8b967499332aaf1e3cf20232b7a7efac by Kristian Høgsberg on 27/04/2012 at 15:31..
Add wl_proxy_get_id()
https://invent.kde.org/neon/backports-jammy/wayland/commit/35fc72eb8b967499332aaf1e3cf20232b7a7efac

Git commit 369d1b0e9b181f6ec33d0afe316bef04c0364645 by Cyril Brulebois on 29/04/2012 at 20:33..
Update long description, wayland-demos got replaced by weston.
https://invent.kde.org/neon/backports-jammy/wayland/commit/369d1b0e9b181f6ec33d0afe316bef04c0364645

Git commit c2afc3a8fa454804432a176fd73b96106bb1aeb6 by Cyril Brulebois on 29/04/2012 at 20:34..
Upload to unstable.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c2afc3a8fa454804432a176fd73b96106bb1aeb6

Git commit 5177e7698446619ee229e1c00c04ea34179cc6af by Kristian Høgsberg on 01/05/2012 at 17:50..
protocol: Move ping event down to other events
https://invent.kde.org/neon/backports-jammy/wayland/commit/5177e7698446619ee229e1c00c04ea34179cc6af

Git commit c1b6dbbacdb1b54d1521f0952906387b8df14beb by Kristian Høgsberg (on behalf of Nicolas Pouillon) on 02/05/2012 at 13:35..
server: Post new globals to current clients

Globals are bursted to client on conntect.  Now when new global
objects are added to the server state, existing clients also get
notified.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c1b6dbbacdb1b54d1521f0952906387b8df14beb

Git commit 2753904edadbf3ff7b504f29931b8bfce7ad7a6f by Kristian Høgsberg on 02/05/2012 at 13:39..
Add shell_surface set_title and set_class requests
https://invent.kde.org/neon/backports-jammy/wayland/commit/2753904edadbf3ff7b504f29931b8bfce7ad7a6f

Git commit 0a828e098c83706357894c3433107db2b0d3aaa8 by Kristian Høgsberg (on behalf of Daniel Stone) on 02/05/2012 at 20:01..
tests: Fix out-of-tree builds

Make sure we include any generated headers from src/ as well, like
wayland-version.h.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0a828e098c83706357894c3433107db2b0d3aaa8

Git commit 3de517a09245aacec844c09d5d7fe30b5ebe3dd2 by Kristian Høgsberg on 03/05/2012 at 19:41..
Use class_ instead of class in protocol

This way we can include the generated code from C++.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3de517a09245aacec844c09d5d7fe30b5ebe3dd2

Git commit 3f7048e0e99af50fe3555ab3f61f0ef1292959e4 by Kristian Høgsberg (on behalf of Daniel Stone) on 07/05/2012 at 16:15..
Use unsigned for key/button up/down state in grabs

Since we just use it as a simple boolean flag, might as well convert it
to unsigned.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f7048e0e99af50fe3555ab3f61f0ef1292959e4

Git commit e4026ff797fbfc743ef7b40ba70d565444a6d113 by Kristian Høgsberg on 08/05/2012 at 02:38..
scanner: Use indent() function in desc_dump()
https://invent.kde.org/neon/backports-jammy/wayland/commit/e4026ff797fbfc743ef7b40ba70d565444a6d113

Git commit 5b0d8f09af4945dad30ac0374bd617f687774fea by Kristian Høgsberg on 08/05/2012 at 02:43..
scanner: Fix desc_dump() to not extend beyond column 72
https://invent.kde.org/neon/backports-jammy/wayland/commit/5b0d8f09af4945dad30ac0374bd617f687774fea

Git commit 375cb418f493669c8ffdd3c716b0c8bb11364def by Kristian Høgsberg on 08/05/2012 at 03:41..
scanner: Generalize desc_dump() to handle hanging indents
https://invent.kde.org/neon/backports-jammy/wayland/commit/375cb418f493669c8ffdd3c716b0c8bb11364def

Git commit a73c91585e61d474253badaada734a6cd857c4b1 by Kristian Høgsberg on 08/05/2012 at 03:45..
TODO: drop scanner namespace item

Not worh the trouble.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a73c91585e61d474253badaada734a6cd857c4b1

Git commit a41fa8b3ec42f8f095ff6b53d30f20554b500c17 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 08/05/2012 at 13:08..
event-loop: fix conditional checking

Introduced in:
    commit 80f4f0d5127ebc8d5e35969a29691cf61a79997d
    Author: Jonas Ådahl <jadahl at gmail.com>
    Date:   Wed Mar 21 10:31:24 2012 +0100

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a41fa8b3ec42f8f095ff6b53d30f20554b500c17

Git commit 3e7bd7362b6841d1862de5af7b71f138b6d70a5d by Kristian Høgsberg on 08/05/2012 at 13:30..
event-loop: Consolidate code for setting up new sources
https://invent.kde.org/neon/backports-jammy/wayland/commit/3e7bd7362b6841d1862de5af7b71f138b6d70a5d

Git commit d56af2787efd05e6f8fe06cc8ad9bad433097213 by Kristian Høgsberg on 08/05/2012 at 13:41..
tests: Add signal test case

Doesn't necessarily catch the signalfd bug just fixed, since that only
triggers when an uninitialized int is negative.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d56af2787efd05e6f8fe06cc8ad9bad433097213

Git commit 550e8f3861b70bd9bb4e4b29fd7247627b5476f3 by Kristian Høgsberg on 08/05/2012 at 13:55..
tests: Add timerfd test
https://invent.kde.org/neon/backports-jammy/wayland/commit/550e8f3861b70bd9bb4e4b29fd7247627b5476f3

Git commit d8dda50d27fe716b524d1bb39b7a516ac65094bb by Kristian Høgsberg on 08/05/2012 at 13:57..
tests: assert that mask is zero is post_dispatch callback
https://invent.kde.org/neon/backports-jammy/wayland/commit/d8dda50d27fe716b524d1bb39b7a516ac65094bb

Git commit f42d763cd0454559a882e88ce071892f071db791 by Kristian Høgsberg on 08/05/2012 at 13:58..
tests: prefix event loop tests with event_loop_
https://invent.kde.org/neon/backports-jammy/wayland/commit/f42d763cd0454559a882e88ce071892f071db791

Git commit c49f632dae67ee3055e4874f028f723663486da6 by Kristian Høgsberg on 08/05/2012 at 14:42..
event-loop: Delete fd from epoll when removing event source

Closing an fd will remove it from the epoll set only if it hasn't been
dup'ed.  In other words, the fd is only removed from epoll when all file
descriptors referring to the open file has been close.  We now dup
fd for fd sources, so we need to use EPOLL_CTL_DEL directly now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c49f632dae67ee3055e4874f028f723663486da6

Git commit c5aba11accad178a81a373bd5d1de888b2a51101 by Kristian Høgsberg (on behalf of Daniel Stone) on 08/05/2012 at 18:40..
Add support for signed 24.8 decimal numbers

'fixed' is a signed decimal type which offers a sign bit, 23 bits of
integer precision, and 8 bits of decimal precision.  This is exposed as
an opaque struct with conversion helpers to and from double and int on
the C API side.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c5aba11accad178a81a373bd5d1de888b2a51101

Git commit 0c20496e1ad16a2910b6f6c7afcf3f5a168f2436 by Kristian Høgsberg (on behalf of Daniel Stone) on 08/05/2012 at 18:40..
Input: Convert pointer co-ordinates to signed_24_8

This offers more precision when using devices like tablets, and also for
transformed surfaces.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0c20496e1ad16a2910b6f6c7afcf3f5a168f2436

Git commit 6b8816bab46172abc975674dcefadcea4edcef08 by Kristian Høgsberg on 08/05/2012 at 18:49..
Update TODO

Daniel did fixed point coordinates.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6b8816bab46172abc975674dcefadcea4edcef08

Git commit 68e0eaa2b55db5354fc25d64ef28eca30df1767b by Kristian Høgsberg on 09/05/2012 at 15:26..
TODO: More updates
https://invent.kde.org/neon/backports-jammy/wayland/commit/68e0eaa2b55db5354fc25d64ef28eca30df1767b

Git commit 0155c28e8cb24e6d4b6585321ea219752b62fdbc by Kristian Høgsberg on 10/05/2012 at 16:02..
protocol: Add documentation for wl_output
https://invent.kde.org/neon/backports-jammy/wayland/commit/0155c28e8cb24e6d4b6585321ea219752b62fdbc

Git commit e8aa047259d4a17608f16359cdbef77f9d3c9668 by Kristian Høgsberg on 10/05/2012 at 16:09..
protocol: Back out accidentally committed wl_seat changes
https://invent.kde.org/neon/backports-jammy/wayland/commit/e8aa047259d4a17608f16359cdbef77f9d3c9668

Git commit bd5617772cdd3d31903befaf3f155a49f787efc4 by Kristian Høgsberg on 10/05/2012 at 18:13..
protocol: Specify that the fullscreen framerate parameter is also mHz
https://invent.kde.org/neon/backports-jammy/wayland/commit/bd5617772cdd3d31903befaf3f155a49f787efc4

Git commit fefa8c0fd5fe9b186ca1acffcc077badbd81b5ba by Kristian Høgsberg on 11/05/2012 at 15:27..
TODO: Strike the last xkbcommon issues
https://invent.kde.org/neon/backports-jammy/wayland/commit/fefa8c0fd5fe9b186ca1acffcc077badbd81b5ba

Git commit f5df38959b14426f648b3359821457786e43e396 by Kristian Høgsberg on 14/05/2012 at 13:36..
Optimize wl_fixed_t to/from double conversion functions
https://invent.kde.org/neon/backports-jammy/wayland/commit/f5df38959b14426f648b3359821457786e43e396

Git commit 32ec041333fd6075e5dfeb7797b6d68f88f5e0aa by Kristian Høgsberg (on behalf of Pekka Paalanen) on 15/05/2012 at 15:00..
tests: add noop to fixed-benchmark

I was just curious of how much the looping takes time without
conversion, so I added this.

My results on Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz:

benchmarked noop:	1.876349827s
benchmarked magic:	2.245844470s
benchmarked div:	12.709085309s
benchmarked mul:	7.504838141s

Mul seems to take 15x the time magic does, cool!

Btw. the simple default cast of int32_t to double is slower than magic
for me, hence the use of union.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/32ec041333fd6075e5dfeb7797b6d68f88f5e0aa

Git commit 6d1902b85c87ff2885798f08bb53bfe120b81e2f by Kristian Høgsberg (on behalf of Darxus) on 15/05/2012 at 15:02..
Add missing alt attributes in publican docs.

Haven't figured out how to regenerate the html, so it's not tested.
Looks like remaining html errors will be fixed in the next publican
release:  https://bugzilla.redhat.com/show_bug.cgi?id=788576
https://invent.kde.org/neon/backports-jammy/wayland/commit/6d1902b85c87ff2885798f08bb53bfe120b81e2f

Git commit aa0fb0f49cd1762128a7ef2466b80156adf17429 by Kristian Høgsberg (on behalf of Daniel Stone) on 16/05/2012 at 18:19..
Convert wl_input_device to wl_seat (and friends)

wl_input_device has been both renamed and split.  wl_seat is now a
virtual object representing a group of logically related input devices
with related focus.

It now only generates one event: to let clients know that it has new
capabilities.  It takes requests which hand back objects for the
wl_pointer, wl_keyboard and wl_touch interfaces it exposes which all
provide the old input interface, just under different names.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa0fb0f49cd1762128a7ef2466b80156adf17429

Git commit 94bb47020ae71336be5088824fee38bf3c8d51cc by Kristian Høgsberg on 16/05/2012 at 18:25..
doc: Update docs to refer to wl_seat instead of wl_input_device
https://invent.kde.org/neon/backports-jammy/wayland/commit/94bb47020ae71336be5088824fee38bf3c8d51cc

Git commit 35a92ef83ba24a0cced3c7c6b9fcde377a88f83b by Kristian Høgsberg (on behalf of Tiago Vignatti) on 21/05/2012 at 16:55..
protocol: use transient flags for activate or not surfaces

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/35a92ef83ba24a0cced3c7c6b9fcde377a88f83b

Git commit ff0d7456742343400b00fa58c77efa51d5ab5d6d by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 22/05/2012 at 19:20..
shm: Add request for resizing pools
https://invent.kde.org/neon/backports-jammy/wayland/commit/ff0d7456742343400b00fa58c77efa51d5ab5d6d

Git commit 775002c6c0f841a034a286c756899e6a4371962b by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 22/05/2012 at 19:20..
Introduce libwayland-cursor, a cursor helper library

The purpose of this library is to be the equivalent of libXcursor in
the X world. This library is compatible with X cursor themes and loads
them directly into an shm pool making it easy for the clients to get
buffer for each cursor image.

The code for handling the X cursor theme was taken from libXcursor. The
files cursor/xcursor.[ch] are a stripped down version of that library
containing only the interfaces necessary for implementing the wayland
counterpart.
https://invent.kde.org/neon/backports-jammy/wayland/commit/775002c6c0f841a034a286c756899e6a4371962b

Git commit 1323b074c38182f9682d1f6a8ed07dd66d6ec4b8 by Kristian Høgsberg (on behalf of Rob Bradford) on 22/05/2012 at 19:24..
server: Initialise serial number counter for wl_display

This ends up propagating through and creating a valgrind error like:

==22573== Conditional jump or move depends on uninitialised value(s)
==22573==    at 0x409E57: pointer_attach (compositor.c:1999)
==22573==    by 0x34ECE05D63: ffi_call_unix64 (unix64.S:75)
==22573==    by 0x34ECE05784: ffi_call (ffi64.c:486)
==22573==    by 0x5674C45: wl_closure_invoke (connection.c:770)
==22573==    by 0x566ECCB: wl_client_connection_data (wayland-server.c:255)
==22573==    by 0x56722F1: wl_event_source_fd_dispatch (event-loop.c:79)
==22573==    by 0x5672C91: wl_event_loop_dispatch (event-loop.c:410)
==22573==    by 0x56705F4: wl_display_run (wayland-server.c:1003)
==22573==    by 0x40C775: main (compositor.c:2937)
https://invent.kde.org/neon/backports-jammy/wayland/commit/1323b074c38182f9682d1f6a8ed07dd66d6ec4b8

Git commit 3cc187c73ef73cd345138fd746344299f94933e8 by Kristian Høgsberg (on behalf of Rob Bradford) on 22/05/2012 at 19:50..
shm: Zero busy count for allocated buffers

This avoids a valgrind error like:

==31496== Conditional jump or move depends on uninitialised value(s)
==31496==    at 0x407620: weston_buffer_post_release (compositor.c:928)
==31496==    by 0x406AEB: weston_surface_attach (compositor.c:725)
==31496==    by 0x409EB8: pointer_attach (compositor.c:2009)
==31496==    by 0x34ECE05D63: ffi_call_unix64 (unix64.S:75)
==31496==    by 0x34ECE05784: ffi_call (ffi64.c:486)
==31496==    by 0x5674C4D: wl_closure_invoke (connection.c:770)
==31496==    by 0x566ECCB: wl_client_connection_data (wayland-server.c:255)
==31496==    by 0x56722F9: wl_event_source_fd_dispatch (event-loop.c:79)
==31496==    by 0x5672C99: wl_event_loop_dispatch (event-loop.c:410)
==31496==    by 0x56705FF: wl_display_run (wayland-server.c:1004)
==31496==    by 0x40C775: main (compositor.c:2937)
==31496==  Uninitialised value was created by a heap allocation
==31496==    at 0x4A074CD: malloc (vg_replace_malloc.c:236)
==31496==    by 0x5670EA7: shm_pool_create_buffer (wayland-shm.c:113)
==31496==    by 0x34ECE05D63: ffi_call_unix64 (unix64.S:75)
==31496==    by 0x34ECE05784: ffi_call (ffi64.c:486)
==31496==    by 0x5674C4D: wl_closure_invoke (connection.c:770)
==31496==    by 0x566ECCB: wl_client_connection_data (wayland-server.c:255)
==31496==    by 0x56722F9: wl_event_source_fd_dispatch (event-loop.c:79)
==31496==    by 0x5672C99: wl_event_loop_dispatch (event-loop.c:410)
==31496==    by 0x56705FF: wl_display_run (wayland-server.c:1004)
==31496==    by 0x40C775: main (compositor.c:2937)
https://invent.kde.org/neon/backports-jammy/wayland/commit/3cc187c73ef73cd345138fd746344299f94933e8

Git commit 5030af7635fc24b325a22d823ab0f51a4b099762 by Kristian Høgsberg on 23/05/2012 at 02:41..
cursor: Fix unsigned/signed comparisons
https://invent.kde.org/neon/backports-jammy/wayland/commit/5030af7635fc24b325a22d823ab0f51a4b099762

Git commit 00de1e6cce5f3389eb763d80df7135f19ccda1be by Kristian Høgsberg (on behalf of Diego Viola) on 23/05/2012 at 13:10..
fix typo
https://invent.kde.org/neon/backports-jammy/wayland/commit/00de1e6cce5f3389eb763d80df7135f19ccda1be

Git commit d860f0cbecbb647b0c91bb1e912af0dd19831615 by Kristian Høgsberg (on behalf of Yan Wang) on 23/05/2012 at 13:32..
Wayland: Add missing extern "C"

Add extern "C" macro definition for C++.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d860f0cbecbb647b0c91bb1e912af0dd19831615

Git commit 086b4e2c1a129b55986a67ec0d8be35b29707a95 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 23/05/2012 at 14:03..
shm: use mremap on pool resize
https://invent.kde.org/neon/backports-jammy/wayland/commit/086b4e2c1a129b55986a67ec0d8be35b29707a95

Git commit f779c57be2264065d4428155bf0066e71bbf33bb by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 26/05/2012 at 03:06..
wayland-cursor: remove enum wl_cursor_type

Defining a list of all cursors a theme, client or toolkit should have
is not the purpose of libwayland-cursor. The cursor type enum existed
for making lookups faster, but this kind of optmization belongs in the
toolkits.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f779c57be2264065d4428155bf0066e71bbf33bb

Git commit c66f26024b8ddc7b4b00b81e37945ad86b1a1fd8 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 26/05/2012 at 03:06..
wayland-cursor: load all cursors from a theme on wl_cursor_theme_load
https://invent.kde.org/neon/backports-jammy/wayland/commit/c66f26024b8ddc7b4b00b81e37945ad86b1a1fd8

Git commit d422a733b4c20a65748c8d9e811f672a2d744218 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 26/05/2012 at 03:10..
data-device: fix crash when a client dies during a drag with an icon

The commit that split wl_input_device into wl_seat and friends changed
erroneously the drag icon destroy listener, causing it to operate into
an invalid pointer to a wl_seat.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d422a733b4c20a65748c8d9e811f672a2d744218

Git commit 75a5f7476ad1a84c9bee0f11a90e66a8e93dab27 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 29/05/2012 at 13:58..
data-device: implement drags with no data source for self-dnd

Properly handle a drag with no data source, i.e., don't crash and send
events only to the client that initiated the drag. This way a client can
do self drag and drop without offering anything to other clients.
https://invent.kde.org/neon/backports-jammy/wayland/commit/75a5f7476ad1a84c9bee0f11a90e66a8e93dab27

Git commit e4efef869e0ef1313d016d7ecd19f5f820a041a7 by Kristian Høgsberg (on behalf of Rob Bradford) on 29/05/2012 at 14:07..
cursor: Link libwayland-cursor to libwayland-client

LDADD is only used when linking programs not libraries.

Spotted-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/e4efef869e0ef1313d016d7ecd19f5f820a041a7

Git commit 693e5983f424deee79367db8aba5d9ffb8fa144a by Kristian Høgsberg (on behalf of Pekka Paalanen) on 29/05/2012 at 14:09..
build: add uninstalled pkg-config files

Required for building apps against wayland libraries that have not been
installed.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/693e5983f424deee79367db8aba5d9ffb8fa144a

Git commit b858a1b87b6301dcad48025dcb54fc931664e068 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 29/05/2012 at 14:10..
tests: update gitignore

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b858a1b87b6301dcad48025dcb54fc931664e068

Git commit 8e2a7867038ee6f536a56a0600d9e9bc777e2c31 by Kristian Høgsberg (on behalf of Martin Minarik) on 31/05/2012 at 17:57..
Wayland: logging

The core libwayland libraries should not handle logging, only passing
the error messages to subscribed functions.
An application linked to libwayland-server or libwayland-client
will be able to set own functions (one per library) to handle error
messages.

Change in this series: make the wl_log return int, because
of compatibility with printf. It will return the number of bytes logged.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8e2a7867038ee6f536a56a0600d9e9bc777e2c31

Git commit 1b6a61d3e94ae3c445974201bad1e5a370f3d82e by Kristian Høgsberg (on behalf of Martin Minarik) on 31/05/2012 at 17:57..
Wayland: logging: replace printf by wl_log
https://invent.kde.org/neon/backports-jammy/wayland/commit/1b6a61d3e94ae3c445974201bad1e5a370f3d82e

Git commit 32add9c6e6af10114e583ddcd7b6cf36a39afbdc by Kristian Høgsberg (on behalf of Daniel Stone) on 31/05/2012 at 18:00..
cursor: Fix warning with objdir != srcdir build

Make sure we find the right include paths.

krh: Edited to use $(top_builddir)

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/32add9c6e6af10114e583ddcd7b6cf36a39afbdc

Git commit f7a39ff69b0b30c95330f6b6647d21707fe38dee by Kristian Høgsberg (on behalf of Daniel Stone) on 31/05/2012 at 18:01..
Always reset keyboard and pointer focus

If wl_pointer_set_focus or wl_keyboard_set_focus have been called before
a listener has been established for that seat and client combination,
the focus window will be set but the focus resource will be NULL.  This
changes these functions to always attempt to search for the relevant
focus resource, allowing the resource to be set by calling
wl_keyboard_set_focus and wl_pointer_set_focus again when a listener has
been established.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/f7a39ff69b0b30c95330f6b6647d21707fe38dee

Git commit 9a1705c5f5e877d4e68bd0e7eb858f517375ba3f by Kristian Høgsberg (on behalf of Daniel Stone) on 31/05/2012 at 18:01..
wl_keyboard: Add modifier event

This event sends the current keyboard modifier/group state from the
compositor to the client, allowing all clients to have a consistent view
of the keyboard state (e.g. current layout, Caps Lock, et al).  It
should be sent after a keyboard enter event, and also immediately after
any key event which changes the modifier state.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/9a1705c5f5e877d4e68bd0e7eb858f517375ba3f

Git commit 872d074a431a28ff5dcb09384d07970812432c82 by Kristian Høgsberg (on behalf of Daniel Stone) on 31/05/2012 at 18:02..
Add key_state and button_state enums

Rather than hardcoding 0 and 1 everywhere.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/872d074a431a28ff5dcb09384d07970812432c82

Git commit cfd56ed4bc4ca8d0cd642228aff8c21c4b1a357c by Kristian Høgsberg (on behalf of Daniel Stone) on 31/05/2012 at 18:02..
Convert wl_pointer::axis to fixed

Which allows for smooth scrolling, among other things.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/cfd56ed4bc4ca8d0cd642228aff8c21c4b1a357c

Git commit 8f63e8013bba6fea9562339c2ed8b3eb1c8e3138 by Kristian Høgsberg on 01/06/2012 at 03:26..
data-device: Only send out NULL selection if we have a resource

If the current keyboard focus client doesn't have a resource for the
data_device, don't send out the selection event.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8f63e8013bba6fea9562339c2ed8b3eb1c8e3138

Git commit 0527ad8f001b9286ff3a5cb40c51345c3b56fd38 by Kristian Høgsberg on 01/06/2012 at 03:28..
data-device: Emit selection_signal also when we lose the selection
https://invent.kde.org/neon/backports-jammy/wayland/commit/0527ad8f001b9286ff3a5cb40c51345c3b56fd38

Git commit 0760297633d813c415c068a41558be4ee171d235 by Kristian Høgsberg on 01/06/2012 at 03:29..
data-device: Handle setting a NULL selection source
https://invent.kde.org/neon/backports-jammy/wayland/commit/0760297633d813c415c068a41558be4ee171d235

Git commit dff84e563896566e952f8a6704eadb8c09f27830 by Kristian Høgsberg (on behalf of Daniel Stone) on 01/06/2012 at 14:35..
Add wl_keyboard::keymap event

With this event, the compositor generates one canonical keymap for all
clients, and then sends an mmap()able fd over the wire, rather than all
the clients generating possibly disparate keymaps.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/dff84e563896566e952f8a6704eadb8c09f27830

Git commit 68f058ffd3aa485e01354b8cf6ad040169e939fb by Kristian Høgsberg on 03/06/2012 at 21:30..
data-device: Don't implement data source through data offer object

The wl_data_source object used to specify the implementation for data
offers created for it.  This means you need a data offer to retrieve the
data from the source, which makes it awkward to use in-process in a
compositor.  Now we instead have three virtual functions that can be
connected to a protocol object or in-process data-sources such as an
X server proxy or clipboard.
https://invent.kde.org/neon/backports-jammy/wayland/commit/68f058ffd3aa485e01354b8cf6ad040169e939fb

Git commit 3fd1e128e95770526d2c247aef9544a6abdb7848 by Kristian Høgsberg on 04/06/2012 at 03:11..
TODO: Drop clipboard manager item

We have a reasonable prototype in weston now and we're going to
conclude that the persistent selection functionality is either
going to be part of the compositor (as for weston) or use a custom
protocol.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3fd1e128e95770526d2c247aef9544a6abdb7848

Git commit aa792ad3d657853a24faa5a6d5ae09830490087f by Kristian Høgsberg on 05/06/2012 at 13:56..
Add a focus change signal for wl_pointer and wl_keyboard
https://invent.kde.org/neon/backports-jammy/wayland/commit/aa792ad3d657853a24faa5a6d5ae09830490087f

Git commit 0c7ca38c7f8b3da5b3dfa44064fe994c80849b71 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 06/06/2012 at 17:07..
client: require XDG_RUNTIME_DIR

An arbitrary fallback to the current directory is only confusing.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0c7ca38c7f8b3da5b3dfa44064fe994c80849b71

Git commit c29020332a7bb56cb9e5c5928ed9a5a2e80b2bef by Kristian Høgsberg (on behalf of Pekka Paalanen) on 06/06/2012 at 17:07..
server: require XDG_RUNTIME_DIR

An arbitrary fallback to the current directory is only confusing.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c29020332a7bb56cb9e5c5928ed9a5a2e80b2bef

Git commit dd8891be36ec208a5e8e5dd32c32426713f16877 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 08/06/2012 at 16:50..
wayland-cursor: add an option that changes the cursor theme directory

Some distros (e.g. gentoo) install cursor themes in non-standard
directories. Add option --with-icondir to configure.sh that sets the
directory in which to look for cursors.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dd8891be36ec208a5e8e5dd32c32426713f16877

Git commit f36f32a0e05b4af290862b9d0ec685f6d095786f by Kristian Høgsberg (on behalf of Jonas Ådahl) on 13/06/2012 at 00:18..
wayland-util: wl_list_insert_list() should accept empty lists

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

Git commit 1432bd62df3f30a8a28eba0c5e795113741bade3 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 13/06/2012 at 00:18..
wayland-server: Add destroy signal to wl_seat

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

Git commit 46f9745c100daa9a05fa00bdc36fafbbb3b431e8 by Kristian Høgsberg on 13/06/2012 at 14:45..
connection: Always malloc closure

This lets us allocate the closure just big enough and is a first step towards
a message queue.
https://invent.kde.org/neon/backports-jammy/wayland/commit/46f9745c100daa9a05fa00bdc36fafbbb3b431e8

Git commit 8dc57f4dda804f50515a7a5366dceef13999ebcd by Kristian Høgsberg on 13/06/2012 at 14:45..
connection: Set closure->start in demarshal too
https://invent.kde.org/neon/backports-jammy/wayland/commit/8dc57f4dda804f50515a7a5366dceef13999ebcd

Git commit 6e94028c31d06999cb9848b1bd0348ea2f683516 by Kristian Høgsberg on 13/06/2012 at 17:33..
TODO: Update to account for changes from Daniel
https://invent.kde.org/neon/backports-jammy/wayland/commit/6e94028c31d06999cb9848b1bd0348ea2f683516

Git commit b6aa49455e72034760ea852ad4a20b29ec76e7fc by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 15/06/2012 at 14:52..
protocol: replace pointer.attach with pointer.set_cursor
https://invent.kde.org/neon/backports-jammy/wayland/commit/b6aa49455e72034760ea852ad4a20b29ec76e7fc

Git commit 6b861f7b4d7a6669e9496331d80fc2a63ed4bd4b by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 15/06/2012 at 14:53..
cursor: Add function for calculating current frame in cursor animation

Given a pointer to struct wl_cursor and an elapsed time in ms.,
wl_cursor_frame() will return the index of the cursor image the should
be displayed.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6b861f7b4d7a6669e9496331d80fc2a63ed4bd4b

Git commit c622350fb26d4b8cab3dd30f4a14067a15673823 by Kristian Høgsberg on 15/06/2012 at 15:09..
TODO: Remove cursor-as-regular-surface item
https://invent.kde.org/neon/backports-jammy/wayland/commit/c622350fb26d4b8cab3dd30f4a14067a15673823

Git commit b576443a0eb848085d0fcdf2b2d2987bcfb58a7f by Kristian Høgsberg on 15/06/2012 at 20:09..
tests: Update test cases to new closure allocate convention
https://invent.kde.org/neon/backports-jammy/wayland/commit/b576443a0eb848085d0fcdf2b2d2987bcfb58a7f

Git commit c806dde7e61f4d06564bd3acf74dbba6cfa328c6 by Kristian Høgsberg on 18/06/2012 at 16:09..
data-device: Fix list corruption when the source goes away

If the data source is destroyed, the corresponding offers may stay around for
a little longer (until the owning client destroys it).  When the offer is
finally destroyed, we have to be careful to only remove the source
destroy listener if the source hasn't yet been destroyed.

Thanks to Martin Minarik for tracking down where the corruption happened.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c806dde7e61f4d06564bd3acf74dbba6cfa328c6

Git commit 61260854ec92a43e4e0f5cf1469eecbe404eac5a by Kristian Høgsberg (on behalf of Daniel Stone) on 18/06/2012 at 19:15..
Xcursor: Don't ignore unknown file types

XFS doesn't return the file type with opendir(), and instead only
returns it when you stat() the file itself.  c66f2602 introduced a check
to ensure that only files and symlinks were loaded, while not checking
for DT_UNKNOWN.  Properly handle DT_UNKNOWN by just proceeding anyway.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/61260854ec92a43e4e0f5cf1469eecbe404eac5a

Git commit 226100795309569cc0f101ed6524afc6ac3a9584 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 19/06/2012 at 15:36..
wayland-cursor: Plug leak of filename on load_all_cursors_from_dir()
https://invent.kde.org/neon/backports-jammy/wayland/commit/226100795309569cc0f101ed6524afc6ac3a9584

Git commit bcefacb89d14c5f98c0fe2b12e2baf50e216496e by Kristian Høgsberg (on behalf of Daniel Stone) on 22/06/2012 at 15:06..
Maintain keyboard modifier state in wayland-server

Provide a slot for keyboard modifier state inside wl_keyboard for
implementations to update, and use this to send wl_keyboard:;modifier
events whenever the keyboard or pointer focus changes.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/bcefacb89d14c5f98c0fe2b12e2baf50e216496e

Git commit 67e16be8aa9408d77dc291d9accb238fb9422c94 by Kristian Høgsberg on 22/06/2012 at 16:20..
Send keyboard modifier event using the keyboard resource
https://invent.kde.org/neon/backports-jammy/wayland/commit/67e16be8aa9408d77dc291d9accb238fb9422c94

Git commit 9afb5f61f8e77f33c63e17f54720f12f9c40287c by Kristian Høgsberg on 22/06/2012 at 18:38..
Send modifier event to pointer focus when it changes too
https://invent.kde.org/neon/backports-jammy/wayland/commit/9afb5f61f8e77f33c63e17f54720f12f9c40287c

Git commit 7e71c38b98296843b8f3f24efd507e98f1f10c57 by Kristian Høgsberg on 25/06/2012 at 22:09..
configure.ac: Bump version to 0.94.90
https://invent.kde.org/neon/backports-jammy/wayland/commit/7e71c38b98296843b8f3f24efd507e98f1f10c57

Git commit ae6f3001a51cce102422e4ccbeb394fe90945a12 by Kristian Høgsberg on 27/06/2012 at 14:30..
wl_shell: Don't require that parent surfaces are wl_shell_surfaces

The set_transient and set_popup requests take a wl_shell_surface as
the parent surface argument.  We don't need the parent surface to be
a shell surface and this restricts the types of surfaces we can use
the transient and popup surface types on.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ae6f3001a51cce102422e4ccbeb394fe90945a12

Git commit c30ad0d9da08a95246471483bfc66410a4153564 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 28/06/2012 at 18:13..
protocol: Change wording of pointer.set_cursor()

Change the description of pointer.set_cursor() so that a client without
pointer focus but that currently owns the pointer surface can update the
hotspot using it.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c30ad0d9da08a95246471483bfc66410a4153564

Git commit 9de9e39f87adfce1ea9755e394928756254c0ba2 by Kristian Høgsberg on 29/06/2012 at 02:01..
Allocate client proxy automatically for new objects

When the server send a new object ID, the client used to have to allocate
the proxy manually and without type-safety.  We now allocate the proxy
in a client-side post-processing step on the incoming closure.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9de9e39f87adfce1ea9755e394928756254c0ba2

Git commit bb6e48b1b023e7d422fb5d67eef6505f7bdf2d05 by Dylan Noblesmith on 30/06/2012 at 19:37..
wayland-server: reduce use of magic numbers

Make it clear what the significance of '5' and '113' actually is.
Also drop an unneeded function argument.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bb6e48b1b023e7d422fb5d67eef6505f7bdf2d05

Git commit cadd9992921c92c4cf4c72ee40ff5ab4d44066cd by Dylan Noblesmith on 30/06/2012 at 19:37..
drop use of strerror()

It isn't thread-safe. Use the %m conversion specifier instead,
like the rest of the code already does.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cadd9992921c92c4cf4c72ee40ff5ab4d44066cd

Git commit 94752574592a59c74340816063ad12a18433a75d by Dylan Noblesmith on 30/06/2012 at 19:37..
wayland-server: fix fd leak on error path

And restructure get_socket_lock() so it's clearer that it's
allocating a new file descriptor.

Uncovered by an upcoming test.
https://invent.kde.org/neon/backports-jammy/wayland/commit/94752574592a59c74340816063ad12a18433a75d

Git commit 30ff420ca9707fbbde7e70e789a8698058b4cb4b by Dylan Noblesmith on 30/06/2012 at 19:50..
wayland-server: fix socket ownership race condition

Always unlink() the lock file before closing the file
descriptor for it. Otherwise, there is a race like this:

Process A closes fd, releasing the lock
Process B opens the same file, taking the lock
Process A unlinks the lock file
Process C opens the same file, which now no longer exists,
and takes the lock on the newly created lock file

Process B and C both 'own' the same display socket.

unlink()ing while holding the lock is effectively a better
way to release the lock atomically.
https://invent.kde.org/neon/backports-jammy/wayland/commit/30ff420ca9707fbbde7e70e789a8698058b4cb4b

Git commit 4522467268492e64b690d93cf57749c099ce101e by Dylan Noblesmith on 30/06/2012 at 19:57..
wayland-server: add more logging of errors
https://invent.kde.org/neon/backports-jammy/wayland/commit/4522467268492e64b690d93cf57749c099ce101e

Git commit 00c25a05656b0bbc3da56383ca2aa9be7f6ebdbf by Dylan Noblesmith on 30/06/2012 at 19:58..
wayland-server: reject socket paths longer than 108 bytes

Attempting to write anything longer into the embedded char
array would create a non-null-terminated string, and all
later reads would run off the end into invalid memory.

This is a hard limitation of AF_LOCAL/AF_UNIX sockets.
https://invent.kde.org/neon/backports-jammy/wayland/commit/00c25a05656b0bbc3da56383ca2aa9be7f6ebdbf

Git commit af5f8cc2004ae6a56447614ac9d61ac75115ea7d by Dylan Noblesmith on 30/06/2012 at 19:58..
wayland-client: reject socket paths longer than 108 bytes

Attempting to write anything longer into the embedded char
array would create a non-null-terminated string, and all
later reads would run off the end into invalid memory.

This is a hard limitation of AF_LOCAL/AF_UNIX sockets.
https://invent.kde.org/neon/backports-jammy/wayland/commit/af5f8cc2004ae6a56447614ac9d61ac75115ea7d

Git commit c394b759586e2c20b249d6c48e2435388114d6da by Dylan Noblesmith on 30/06/2012 at 19:58..
tests: sort list of tests
https://invent.kde.org/neon/backports-jammy/wayland/commit/c394b759586e2c20b249d6c48e2435388114d6da

Git commit b486e3aba5c7618b7f6311e82b5fdb2c93f2beab by Dylan Noblesmith on 30/06/2012 at 19:58..
tests: fix make check for out-of-tree builds

It was failing with missing include files.

While here, destroy the ugly "../src/..." include
paths used in the tests that was just hacking around
this problem in the Makefile:

sed -i s/..\\/src\\/// tests/*.c
https://invent.kde.org/neon/backports-jammy/wayland/commit/b486e3aba5c7618b7f6311e82b5fdb2c93f2beab

Git commit d2bcffc470cf37dbdeb4d1ed46819360c16d92eb by Dylan Noblesmith on 30/06/2012 at 20:01..
tests: test that path names longer than 108 bytes are rejected

These would either overflow the struct sockaddr_un, or
be truncated and leave a non-null-terminated string.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d2bcffc470cf37dbdeb4d1ed46819360c16d92eb

Git commit 161c690b558fff9d0f407311ae4e1fbe389775f7 by Kristian Høgsberg (on behalf of Christopher James Halse Rogers) on 02/07/2012 at 17:53..
protocol: Add explicit nullable types

Most of the time it does not make sense to pass a NULL object, string, or array
to a protocol request. This commit adds an explicit “allow-null” attribute
to mark the request arguments where NULL makes sense.

Passing a NULL object, string, or array to a protocol request which is not
marked as allow-null is now an error. An implementation will never receive
a NULL value for these arguments from a client.

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/161c690b558fff9d0f407311ae4e1fbe389775f7

Git commit 11db60fe729539315c96745c50ae3160dc16001c by Kristian Høgsberg (on behalf of Christopher James Halse Rogers) on 02/07/2012 at 17:53..
protocol: Explicitly mark requests which allow null arguments

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/11db60fe729539315c96745c50ae3160dc16001c

Git commit 8a023688c07fe2d377c4bc9631ce2fe7a9afee60 by Kristian Høgsberg on 02/07/2012 at 18:34..
protocol: Add a couple of missing allow-null annotations

wl_data_device.set_selection() allows NULL to withdraw the previously set
selection and wl_surface.attach() allows a NULL buffer to hide the surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8a023688c07fe2d377c4bc9631ce2fe7a9afee60

Git commit 00902b38151d6b4373584eb52dc44143825ef88f by Kristian Høgsberg (on behalf of Martin Olsson) on 09/07/2012 at 21:59..
wayland-cursor: Add error handling for shm_pool_create()
https://invent.kde.org/neon/backports-jammy/wayland/commit/00902b38151d6b4373584eb52dc44143825ef88f

Git commit e760ec9fa97c3776d8db47d26ad93b1bfd09fc6d by Kristian Høgsberg (on behalf of Martin Olsson) on 09/07/2012 at 21:59..
scanner: Plug memory leak in end_element()
https://invent.kde.org/neon/backports-jammy/wayland/commit/e760ec9fa97c3776d8db47d26ad93b1bfd09fc6d

Git commit 53bb40170475a9eaef23c700c5d1f6fac8b3510f by Kristian Høgsberg (on behalf of Martin Olsson) on 09/07/2012 at 21:59..
server: Don't crash for wl_seat_set_touch(seat, NULL)
https://invent.kde.org/neon/backports-jammy/wayland/commit/53bb40170475a9eaef23c700c5d1f6fac8b3510f

Git commit c94c0946db694ec29b5aebb94a8be0501bacfbc7 by Kristian Høgsberg (on behalf of Martin Olsson) on 09/07/2012 at 21:59..
shm: Plug leak in shm_create_pool()
https://invent.kde.org/neon/backports-jammy/wayland/commit/c94c0946db694ec29b5aebb94a8be0501bacfbc7

Git commit 84bac043e1c6313f7b8812a31ddb179b3f7933d5 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 09/07/2012 at 22:00..
protocol: Add missing allow-null to data_device.enter data_offer field

Fixes bug 51889.
https://invent.kde.org/neon/backports-jammy/wayland/commit/84bac043e1c6313f7b8812a31ddb179b3f7933d5

Git commit fc0c2e04c50c2ba60272270d1a71ec57a42e7b5b by Kristian Høgsberg (on behalf of Martin Olsson) on 09/07/2012 at 22:03..
doc: fix some typos in documentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/fc0c2e04c50c2ba60272270d1a71ec57a42e7b5b

Git commit dba322c1c0a7e09b4ca616c53762865921f77526 by Kristian Høgsberg (on behalf of Martin Olsson) on 09/07/2012 at 22:11..
Fixup source comment in wayland-util.h and fix typo in TODO
https://invent.kde.org/neon/backports-jammy/wayland/commit/dba322c1c0a7e09b4ca616c53762865921f77526

Git commit b4aff6b79f80cf8110de346e527b2288903a839f by Kristian Høgsberg on 10/07/2012 at 01:50..
wayland-shm: Add return before we hit the error clean-up path

Regression in c94c0946db694ec29b5aebb94a8be0501bacfbc7
https://invent.kde.org/neon/backports-jammy/wayland/commit/b4aff6b79f80cf8110de346e527b2288903a839f

Git commit e7e1296682b550349832d8922d688014dae7f968 by Kristian Høgsberg (on behalf of Robert Ancell) on 10/07/2012 at 02:01..
scanner: Include weston-client.h as the inline functions require it
https://invent.kde.org/neon/backports-jammy/wayland/commit/e7e1296682b550349832d8922d688014dae7f968

Git commit 23bf48063ff6d3150cee99715f0f1b48ebd4a82e by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/07/2012 at 17:57..
server: add lose_touch_focus()

Just like wl_keyboard and wl_pointer, add a signal handler for losing
touch focus.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/23bf48063ff6d3150cee99715f0f1b48ebd4a82e

Git commit 9326498d03c9c4b0120082387b623ad70b4205c7 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/07/2012 at 18:08..
server: fix wl_seat_set_keyboard

This makes wl_seat_set_keyboard similar to wl_seat_set_pointer in that
it's a no-op, if you try to set keyboard to NULL when it already is
NULL, instead of refusing to set it to NULL ever.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/9326498d03c9c4b0120082387b623ad70b4205c7

Git commit a88a4386cbf5f3a627345f12683210c3b81b292b by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/07/2012 at 18:08..
cursor: use os_create_anonymous_file()

Copy the implementation of os_create_anonymous_file() here from weston,
so we can use it instead of hardcoding a path to /tmp.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a88a4386cbf5f3a627345f12683210c3b81b292b

Git commit 52e6dc71becf4ee7f473f8af79fd71f95b6889c0 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 10/07/2012 at 18:11..
cursor: fix fd leak and a segfault

- don't leak fd in shm_pool_destroy()
- return NULL from wl_cursor_theme_load() if pool fails

Tha last one fixes a segfault, when shm_pool_create() has failed.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/52e6dc71becf4ee7f473f8af79fd71f95b6889c0

Git commit 2e79c4877fc4f402297e9d685b5eb2c41d7dd814 by Kristian Høgsberg (on behalf of Dmitry Guryanov) on 17/07/2012 at 20:54..
remove listener from wl_data_source destroy_signal listener list

I've found a bug during wayland exploration - if you make two
drag'n'drops in weston client example, dnd - weston crashes with
segfault. I've tried to investigate it and found a problem.

In function drag_grab_button we first call data_device_end_drag_grab,
which sets seat->drag_data_source to NULL. Then we remove
listener from list only if drag_data_source is not NULL.

So if client will not free wl_data_source and start another drag'n'drop,
after the first one. Then two wl_data_source structures will be
free'd on client exit (let's name them s1 and s2).

next and prev pointer of
wl_data_source.resource.destroy_signal.listener_list in both
wl_data_source structures will be seat->drag_data_source_listener,
but next and prev in seat->drag_data_source_listener.link point
to listener_list in s2.

So if you try to iterate over listener_list in s1
then you get drag_data_source_listener as first item and
(struct wl_listener *)(&s2.resource.destroy_signal.listener_list)

Iteration over that list occurs in
wl_resource_destroy->destroy_resource->wl_signal_emit->wl_signal_emit
and try to call function at address of wl_resource->client, so
weston segfaults there.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2e79c4877fc4f402297e9d685b5eb2c41d7dd814

Git commit 0a9cd16f6a6819392777e7b50601bb7e39b019da by Kristian Høgsberg (on behalf of Robert Ancell) on 20/07/2012 at 16:04..
wayland-client: Add missing newline from an error message
https://invent.kde.org/neon/backports-jammy/wayland/commit/0a9cd16f6a6819392777e7b50601bb7e39b019da

Git commit 7ba218c9f80c9ce6f1a54e4e1b2f8aa66c590ade by Kristian Høgsberg on 20/07/2012 at 16:04..
shm: Add shm_buffer getters for width and height
https://invent.kde.org/neon/backports-jammy/wayland/commit/7ba218c9f80c9ce6f1a54e4e1b2f8aa66c590ade

Git commit 0b4ed5fe72bb96b0b0ef6bfdb280889b51da62dc by Kristian Høgsberg on 20/07/2012 at 16:20..
README: Update

The wayland README had outdated build instructions for weston.  Let's just
trim it down to build instructions for wayland and a link to the web site.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0b4ed5fe72bb96b0b0ef6bfdb280889b51da62dc

Git commit 76bfd68f47c6cd8552151aa90efc4e5d074d14f9 by Kristian Høgsberg on 20/07/2012 at 16:30..
wayland-shm: Commit the width/height getters that actually compile
https://invent.kde.org/neon/backports-jammy/wayland/commit/76bfd68f47c6cd8552151aa90efc4e5d074d14f9

Git commit 900e4b63ef185767a4f1f1eea0ea1fb9899b4da5 by Kristian Høgsberg (on behalf of Mathias Fiedler) on 22/07/2012 at 18:06..
wayland-server: send error on invalid new object id

Creation of new client resources was silently ignored when
wl_client_add_resource() was used on server side and new object id was out
of range.

An error is now send out to the client in such case.

Also changed error message in wl_client_add_object, since
wl_map_insert_at() returns -1 only at invalid new id.
https://invent.kde.org/neon/backports-jammy/wayland/commit/900e4b63ef185767a4f1f1eea0ea1fb9899b4da5

Git commit bfcd6819303b0304ba38d57af4856eb6db286907 by Kristian Høgsberg (on behalf of Mathias Fiedler) on 22/07/2012 at 18:09..
wayland-util: add method for reserving new object id

wl_map_reserve_new() ensures that new id is valid and will point to an
empty array entry.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bfcd6819303b0304ba38d57af4856eb6db286907

Git commit 0b8b397e3438f0acad78ce2646bacc4905c97f01 by Kristian Høgsberg (on behalf of Mathias Fiedler) on 22/07/2012 at 18:09..
connection: reserve id on incoming new object

If a new object id arrives ensure that there is an empty array entry
created, otherwise we might get out of sync for new ids if object isn't
created by interface implementation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0b8b397e3438f0acad78ce2646bacc4905c97f01

Git commit eadb68ec32df8ee54ccba175d19adcdedfaa5015 by Kristian Høgsberg on 22/07/2012 at 19:50..
protocol: Add transform argument to wl_output.geometry event
https://invent.kde.org/neon/backports-jammy/wayland/commit/eadb68ec32df8ee54ccba175d19adcdedfaa5015

Git commit 16b4c8747053e73bb963ea2bdf566cc54b9aeb90 by Kristian Høgsberg (on behalf of Daniel Stone) on 23/07/2012 at 20:40..
.gitignore: Add ctags and cscope files

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/16b4c8747053e73bb963ea2bdf566cc54b9aeb90

Git commit 61e9196f565e02b1774699e865a81a4efd3904bb by Kristian Høgsberg (on behalf of Daniel Stone) on 23/07/2012 at 20:40..
test-runner: Wrap realloc() too

So all our tests don't start failing just because we had the temerity to
use realloc() rather than malloc().

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/61e9196f565e02b1774699e865a81a4efd3904bb

Git commit a2c79b14a1aa58424eae77db39ded4d745acce1d by Kristian Høgsberg on 24/07/2012 at 00:14..
tests: Wrap calloc by just returning NULL if we're called too early

Since glibc dlsym() calls calloc, we get a call to our calloc wrapper as
we try to look up the real calloc implementation.  dlsym() will fall back
to a static buffer in case calloc returns NULL, so that's what we'll do.

This is all highly glibc dependent, of course, but the entire malloc
weak symbol wrapper mechanism is, so there's no loss of generality here.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a2c79b14a1aa58424eae77db39ded4d745acce1d

Git commit efe23443d8bcdad0513d5dd9d027233b3d7dc968 by Kristian Høgsberg (on behalf of Daniel Stone) on 24/07/2012 at 00:15..
Unstatic arg_count_for_signature and get_next_argument

Expose these to other files using wayland-private.h, so wayland-client.c
can walk NULLables properly.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/efe23443d8bcdad0513d5dd9d027233b3d7dc968

Git commit db0add6d5e23deac53c834f73d5e56180600cead by Kristian Høgsberg (on behalf of Daniel Stone) on 24/07/2012 at 00:16..
Make NEW_IDs nullable

The connection-handling code already allows this, so make it legal in
the protocol definition too.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/db0add6d5e23deac53c834f73d5e56180600cead

Git commit 3ec40512c7e43c5e5a223a9d33e4737a0782916a by Kristian Høgsberg (on behalf of Daniel Stone) on 24/07/2012 at 00:17..
More consistent ID printing

Use unsigned rather than signed for IDs, so they match up with what we
see in other prints.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
https://invent.kde.org/neon/backports-jammy/wayland/commit/3ec40512c7e43c5e5a223a9d33e4737a0782916a

Git commit 6ebde80f0f5c614a3ef95003b788ee6a7694413f by Kristian Høgsberg on 24/07/2012 at 19:10..
Make distcheck work from builddir configured  with --disable-documentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/6ebde80f0f5c614a3ef95003b788ee6a7694413f

Git commit f5ccd7a9e670e097ff9b5faae8a26b3af4bb7b60 by Kristian Høgsberg on 24/07/2012 at 19:45..
Bump version to 0.95.0
https://invent.kde.org/neon/backports-jammy/wayland/commit/f5ccd7a9e670e097ff9b5faae8a26b3af4bb7b60

Git commit 31c0258ff145c4a6524d3dd369dbf4643a5dc4b7 by Kristian Høgsberg (on behalf of Dima Ryazanov) on 27/07/2012 at 02:04..
Don't skip the first directory entry when reading cursors.

I end up missing the "bottom_right_corner" cursor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/31c0258ff145c4a6524d3dd369dbf4643a5dc4b7

Git commit 7f3d22776bc74d7deae0966681ed176363ea1781 by Kristian Høgsberg (on behalf of Andre Heider) on 01/08/2012 at 02:35..
protocol: Remove "repeat" from "key_state"

This is unused and apparently was never implemented.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7f3d22776bc74d7deae0966681ed176363ea1781

Git commit 915cdeee29291332384c4cf9ee67758e19500131 by Kristian Høgsberg on 04/08/2012 at 02:39..
connection: zero out string padding

We don't want to send random data to the client and this also keeps
valgrind happy.
https://invent.kde.org/neon/backports-jammy/wayland/commit/915cdeee29291332384c4cf9ee67758e19500131

Git commit 89eddb4245380229094e03aea01d6c598386ab75 by Kristian Høgsberg (on behalf of Christopher Michael) on 13/08/2012 at 15:00..
Fix grammar in the rendering section.

Upon reading some docs, I found a small grammar mistake in the
rendering section. This patch fixes that.
https://invent.kde.org/neon/backports-jammy/wayland/commit/89eddb4245380229094e03aea01d6c598386ab75

Git commit b57694ca0e9dc7d2845ce9fb0ac9c4b0ebc940ce by Kristian Høgsberg (on behalf of Christopher Michael) on 13/08/2012 at 15:02..
Add support for X cursor themes.

This patch adds a few more directories to search for xcursor themes.

Along with the weston patch, this adds the ability to configure weston
to use an X11 cursor theme. Previously, wayland cursor would just look
in the icons and pixmaps directories for cursor images to load. This
adds the ability to also search in the x cursors directory.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b57694ca0e9dc7d2845ce9fb0ac9c4b0ebc940ce

Git commit 0a633704e6636c475f20a82e96b6ed03a7bc9c18 by Kristian Høgsberg (on behalf of Philipp Brüschweiler) on 14/08/2012 at 14:10..
socket-test: don't try to be clever, fail if no XDG_RUNTIME_DIR is set

Not only setenv(), also putenv() allocates memory on my system
(glibc 2.16.0). Just fail with a clear message if XDG_RUNTIME_DIR is
not set.

https://bugs.freedesktop.org/show_bug.cgi?id=52618
https://invent.kde.org/neon/backports-jammy/wayland/commit/0a633704e6636c475f20a82e96b6ed03a7bc9c18

Git commit 6ceafce57abc6bdf3fffb37ab15ad5ed575e009d by Timo Aaltonen on 16/08/2012 at 10:04..
Merge remote-tracking branch 'origin/upstream-unstable' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/6ceafce57abc6bdf3fffb37ab15ad5ed575e009d

Git commit f25bd7c480d60a2f6f6f79f232751ab8a9729153 by Timo Aaltonen on 16/08/2012 at 10:04..
Merge remote-tracking branch 'origin/debian-unstable' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/f25bd7c480d60a2f6f6f79f232751ab8a9729153

Git commit 6c30f77c59f505da965f2838b2232fdc617919bd by Timo Aaltonen on 16/08/2012 at 10:06..
update the changelogs
https://invent.kde.org/neon/backports-jammy/wayland/commit/6c30f77c59f505da965f2838b2232fdc617919bd

Git commit 24933ad187dbea59ddc8c7398a0365d78b5697cf by Timo Aaltonen on 16/08/2012 at 10:18..
Migrate to multiarch.
https://invent.kde.org/neon/backports-jammy/wayland/commit/24933ad187dbea59ddc8c7398a0365d78b5697cf

Git commit 02858000bb78d622be4b012d0f25f4298c68c0ce by Timo Aaltonen on 16/08/2012 at 10:22..
copyright: Refresh.
https://invent.kde.org/neon/backports-jammy/wayland/commit/02858000bb78d622be4b012d0f25f4298c68c0ce

Git commit cb39920f1ab7a2f71f23791ac6771481a8fed5d7 by Timo Aaltonen on 16/08/2012 at 10:24..
control: Update Standards-Version to 3.9.3, no changes.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cb39920f1ab7a2f71f23791ac6771481a8fed5d7

Git commit eec9c4a327db2d59558eee66b38306dcc5045698 by Timo Aaltonen on 16/08/2012 at 10:37..
rules: Make it non-fatal to fail the tests, which don't all succeed when ran in headless mode.
https://invent.kde.org/neon/backports-jammy/wayland/commit/eec9c4a327db2d59558eee66b38306dcc5045698

Git commit ab701dab8693cf4682be6773706ef17eb7ebf8f7 by Timo Aaltonen on 16/08/2012 at 10:41..
rules: Drop the creation of hard dependencies, wayland should be mostly API stable now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab701dab8693cf4682be6773706ef17eb7ebf8f7

Git commit 4cd2c8c45a7879d66035cbd6cbe8ed1480607ee9 by Timo Aaltonen on 16/08/2012 at 10:43..
rules: Drop dh_auto_install override.  dh_auto_install automatically installs to debian/tmp whenever there are multiple binary packages.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4cd2c8c45a7879d66035cbd6cbe8ed1480607ee9

Git commit fd3d942e09f2ab4bdb06592266503f95c28b16c2 by Timo Aaltonen on 16/08/2012 at 10:46..
brown paper bag: bump the compat for multiarch
https://invent.kde.org/neon/backports-jammy/wayland/commit/fd3d942e09f2ab4bdb06592266503f95c28b16c2

Git commit d66abcae49fbee46099ce21a3d1039447df05463 by Timo Aaltonen on 16/08/2012 at 11:01..
libwayland*.install: Add missing files.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d66abcae49fbee46099ce21a3d1039447df05463

Git commit c7e2a5465c5a15e48347fe831f74ea9bb61cf1dc by Timo Aaltonen on 16/08/2012 at 11:10..
rules: Temporarily disable installing the protocol docs, decide where to put them first.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c7e2a5465c5a15e48347fe831f74ea9bb61cf1dc

Git commit f1cd11944da02d3701a77733eb7d101b5910a9ed by Timo Aaltonen on 16/08/2012 at 11:35..
Add README.source
https://invent.kde.org/neon/backports-jammy/wayland/commit/f1cd11944da02d3701a77733eb7d101b5910a9ed

Git commit dce851a86561eadd4ea57bfc2f32131265e41e54 by Timo Aaltonen on 16/08/2012 at 11:59..
copyright: drop the format specification
https://invent.kde.org/neon/backports-jammy/wayland/commit/dce851a86561eadd4ea57bfc2f32131265e41e54

Git commit 81958b8cc9aa6ba96bc9d44af039fd895f03b9ba by Timo Aaltonen on 16/08/2012 at 12:19..
Switch to source format 3.0 (quilt) due to the xz tarball.
https://invent.kde.org/neon/backports-jammy/wayland/commit/81958b8cc9aa6ba96bc9d44af039fd895f03b9ba

Git commit 94c01df83e296c01f265cf1a46b2d0baf322deea by Timo Aaltonen on 16/08/2012 at 12:37..
remove files not in tarballs
https://invent.kde.org/neon/backports-jammy/wayland/commit/94c01df83e296c01f265cf1a46b2d0baf322deea

Git commit 599a455fb4bec20a5c9de65f7f108a92ae640606 by Kristian Høgsberg (on behalf of Scott Moreau) on 16/08/2012 at 14:49..
protocol: Fix typo.
https://invent.kde.org/neon/backports-jammy/wayland/commit/599a455fb4bec20a5c9de65f7f108a92ae640606

Git commit c855d6eec4c5e63489da5bc08451a2376e6d2aea by Kristian Høgsberg on 16/08/2012 at 14:49..
client: Add wl_display_connect_to_fd() function

This lets us connect a display to an already existing socket fd.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c855d6eec4c5e63489da5bc08451a2376e6d2aea

Git commit 7d3ccec18eda14a30c3edae608195898262f0d27 by Kristian Høgsberg on 16/08/2012 at 14:49..
Add wl_shm_buffer_create()
https://invent.kde.org/neon/backports-jammy/wayland/commit/7d3ccec18eda14a30c3edae608195898262f0d27

Git commit c95c2dffb0a37ae50350319c52b30629c32f6660 by Kristian Høgsberg (on behalf of Rob Bradford) on 29/08/2012 at 18:10..
tests: Allow disabling leak checking assertions by env

Some code coverage tools trigger these assertions when run against the test
suite since they don't free all their memory.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c95c2dffb0a37ae50350319c52b30629c32f6660

Git commit 91931bcabb0fba1a8b76f92cefa33fdeb1b74a8b by Kristian Høgsberg (on behalf of U. Artie Eoff) on 29/08/2012 at 18:10..
tests: ensure sanity leak check tests pass when leak checks are disabled.

This finalizes Robert Bradfords patch to allow NO_ASSERT_LEAK_CHECK
environment variable to disable leak checks in unit tests.

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

Git commit 2be6e0ed142bac669398a9ad26d336666fa53216 by Kristian Høgsberg on 29/08/2012 at 18:12..
tests: Quiet warning
https://invent.kde.org/neon/backports-jammy/wayland/commit/2be6e0ed142bac669398a9ad26d336666fa53216

Git commit 9ce9336c5704510a3f5a57ef377870764217f2ec by Kristian Høgsberg (on behalf of Philipp Brüschweiler) on 11/09/2012 at 01:04..
cursor: Add a default cursor theme

This theme is loaded when the specified cursor theme can not be found.

These cursors are extracted from the xorg sources and transformed into
raw ARGB data by a small helper program (commited separately).
https://invent.kde.org/neon/backports-jammy/wayland/commit/9ce9336c5704510a3f5a57ef377870764217f2ec

Git commit 7fafa994a42e3d8455afbd8d6ba39047b7c1f13d by Kristian Høgsberg (on behalf of Philipp Brüschweiler) on 11/09/2012 at 01:05..
cursor: add cursor.pcf and extraction program
https://invent.kde.org/neon/backports-jammy/wayland/commit/7fafa994a42e3d8455afbd8d6ba39047b7c1f13d

Git commit 397a0c6ada56e4330ebf2bc662010ca8d32a2c73 by Kristian Høgsberg (on behalf of David Herrmann) on 11/09/2012 at 01:28..
event-loop: remove dead code

There is really no need to increment "n" if we never read the value. The
do-while() loop overwrites the value before it is read the first time.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/397a0c6ada56e4330ebf2bc662010ca8d32a2c73

Git commit 9fe135c46f2457d6dc694e4c02d2defeab6986b0 by Kristian Høgsberg (on behalf of David Herrmann) on 11/09/2012 at 01:44..
wayland-server: return new ID in wl_client_add_resource()

wl_client_add_resource() used to return no error even though the new
resource wasn't added to the client. This currently makes it very easy to
DOS weston by simply posting thousands of "create_surface" requests with
an invalid ID. Weston simply assumes the wl_client_add_resource() request
succeeds but will never destroy the surface again as the "destroy" signal
is never called (because the surface isn't linked into the wl_map).

This change makes wl_client_add_resource() return the new ID of the added
object and 0 on failure. Servers (like weston) can now correctly
immediately destroy the surface when this call fails instead of leaving
the surface around and producing memory-leaks.

Instead of returning -1 on failure and 0 on success, I made it return the
new ID as this seems more appropriate. We can directly use it when calling
it with new_id==0.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/9fe135c46f2457d6dc694e4c02d2defeab6986b0

Git commit 003a946aa66333ac1cf927fc1498d85c2c9644f9 by Kristian Høgsberg (on behalf of David Herrmann) on 12/09/2012 at 16:28..
event-loop: export wl_event_loop_dispatch_idle()

When integrating the wayland event-loop into another event-loop, we
currently have no chance of checking whether there are pending idle
sources that have to be called. This patch exports the
"dispatch_idle_sources()" call so other event loops can call this before
going to sleep. This is what wl_event_loop_dispatch() currently does so we
simply allow external event-loops to do the same now.

To avoid breaking existing applications, we keep the call to
dispatch_idle_sources() in wl_event_loop_dispatch() for now. However, if
we want we can remove this later and require every application to call
this manually. This needs to be discussed, but the overhead is negligible
so we will probably leave it as it is.

This finally allows to fully integrate the wayland-server API into
existing event-loops without any nasty workarounds.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/003a946aa66333ac1cf927fc1498d85c2c9644f9

Git commit 4b681a7fd4bee01c4d3385e69ee47ed3856c2229 by Kristian Høgsberg (on behalf of Diego Viola) on 13/09/2012 at 15:31..
Fix typo (ratio, not ration)

Signed-off-by: Diego Viola <diego.viola at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/4b681a7fd4bee01c4d3385e69ee47ed3856c2229

Git commit 35d8da8ef688de7bff63972e50461124415dc63c by Kristian Høgsberg (on behalf of Tiago Vignatti) on 25/09/2012 at 14:15..
protocol: Fix typo

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/35d8da8ef688de7bff63972e50461124415dc63c

Git commit 49dee9a86c39b8e656fdc628591cfc5257c1b8c2 by Kristian Høgsberg (on behalf of David Herrmann) on 25/09/2012 at 15:02..
man: add man-page infrastructure

This adds a man-page infrastructure based on Docbook XML files. This
allows us to integrate the man-pages into the publican books later. An
example page for wl_display_connect() (with an alias
wl_display_connect_to_fd()) is also added.

Feel free to add more man-pages. Function calls are put in man3 and
overview pages into man7. All pages (including aliases) have to be added
to the Makefile.

Docbook does generate aliases automatically from the additional names that
were put in the XML file. However, a small SED script is needed to fixup
the include-paths in the generated troff files. If someone knows how to
avoid that (or even install them gzip'ped), please fix it up.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/49dee9a86c39b8e656fdc628591cfc5257c1b8c2

Git commit 56ea2e793b155c6476ff55d876bd6bb2c5170720 by Kristian Høgsberg (on behalf of David Herrmann) on 26/09/2012 at 16:28..
man: fix compilation without xsltproc

We really shouldn't add the man-pages when HAVE_XSLTPROC is not true so
move it into the if-clause.
But declare the automake-variables outside of the if-clause to avoid
automake complaints.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/56ea2e793b155c6476ff55d876bd6bb2c5170720

Git commit 5495bcd15a7ea160d3ff4568f4746e33ed042aae by Kristian Høgsberg on 01/10/2012 at 17:21..
connection: Drop unused static closures
https://invent.kde.org/neon/backports-jammy/wayland/commit/5495bcd15a7ea160d3ff4568f4746e33ed042aae

Git commit d3fe28384ccc183cd3d4299b63d256378ef59b13 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 10/10/2012 at 02:45..
doc: Improve Wire Format section

Fixed the wayland socket name and added documentation for fixed format.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/d3fe28384ccc183cd3d4299b63d256378ef59b13

Git commit 7fe381861bd1aca396575b1ea79060c274a3f048 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 10/10/2012 at 02:45..
doc: Auto-generate Protocol/Interfaces section instead

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7fe381861bd1aca396575b1ea79060c274a3f048

Git commit b5af60a57b3524fe68ade355fadee864fabc61dd by Kristian Høgsberg (on behalf of Tiago Vignatti) on 10/10/2012 at 02:45..
doc: Remove Shared Object Cache section

We don't support anything like that yet.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b5af60a57b3524fe68ade355fadee864fabc61dd

Git commit b41dc10063d5b8e2a10e49ca8b227e5f5338ca75 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 10/10/2012 at 02:45..
wayland: Fix typos

My vim spell checker is able to find typos of xml files after adding "syn spell
toplevel" to ~/.vim/after/syntax/xml.vim

aah, and Wayland is capital letter :)

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b41dc10063d5b8e2a10e49ca8b227e5f5338ca75

Git commit 020170877332f828aaf639ebe5c56d3ff6444511 by Kristian Høgsberg (on behalf of Rob Bradford) on 10/10/2012 at 03:01..
xcursor: Fix allocation based on string length

strlen() doesn't include the terminating NUL. Therefore when allocating a
block of memory to hold something equivalent to the length of the string we
must increment to take the NUL byte into consideration.

Signed-off-by: Rob Bradford <rob at linux.intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/020170877332f828aaf639ebe5c56d3ff6444511

Git commit 6685d1930162b71d04fc3d6796b21a28dc025ab4 by Kristian Høgsberg (on behalf of Rob Bradford) on 10/10/2012 at 03:01..
connection: Add missing free from error path

On the error codepath that errors out on ENOMEM we should free the allocated
closure.

Signed-off-by: Rob Bradford <rob at linux.intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/6685d1930162b71d04fc3d6796b21a28dc025ab4

Git commit 0371668dcca5aa29c0fc4b59b974e40bcf073563 by Kristian Høgsberg (on behalf of Matt Roper) on 10/10/2012 at 03:42..
Ensure cursor_data.c is included in distribution tarballs

Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0371668dcca5aa29c0fc4b59b974e40bcf073563

Git commit 53d24713a31d59d9534c1c1a84a7ad46f44ee95f by Kristian Høgsberg on 11/10/2012 at 00:59..
Change filedescriptor API to be thread safe

The update callback for the file descriptors was always a bit awkward and
un-intuitive.  The idea was that whenever the protocol code needed to
write data to the fd it would call the 'update' function.  This function
would adjust the mainloop so that it polls for POLLOUT on the fd so we
can eventually flush the data to the socket.

The problem is that in multi-threaded applications, any thread can issue
a request, which writes data to the output buffer and thus triggers the
update callback.  Thus, we'll be calling out with the display mutex
held and may call from any thread.

The solution is to eliminate the udpate callback and just require that
the application or server flushes all connection buffers before blocking.
This turns out to be a simpler API, although we now require clients to
deal with EAGAIN and non-blocking writes.  It also saves a few syscalls,
since the socket will be writable most of the time and most writes will
complete, so we avoid changing epoll to poll for POLLOUT, then write and
then change it back for each write.
https://invent.kde.org/neon/backports-jammy/wayland/commit/53d24713a31d59d9534c1c1a84a7ad46f44ee95f

Git commit ce1f4c29ab9d5c2a34335ef252a1d0ad977df636 by Kristian Høgsberg on 11/10/2012 at 00:59..
client: Split event handling into demarshal and dispatch steps

This lets us demarshal with a mutex held and then do dispatching after
releasing the mutex.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ce1f4c29ab9d5c2a34335ef252a1d0ad977df636

Git commit de961dc1f3983c8f7fa0cbf2ac14cd44253b98f9 by Kristian Høgsberg on 11/10/2012 at 00:59..
client: Make wl_display thread safe

Not all entry points are thread safe: global listeners and global lookup
is still only main thread.
https://invent.kde.org/neon/backports-jammy/wayland/commit/de961dc1f3983c8f7fa0cbf2ac14cd44253b98f9

Git commit 385fe30e8b144a968aa88c6546c2ef247771b3d7 by Kristian Høgsberg on 11/10/2012 at 00:59..
client: Add wl_event_queue for multi-thread dispatching

This introduces wl_event_queue, which is what will make multi-threaded
wayland clients possible and useful.  The driving use case is that of a
GL rendering thread that renders and calls eglSwapBuffer independently of
a "main thread" that owns the wl_display and handles input events and
everything else.  In general, the EGL and GL APIs have a threading model
that requires the wayland client library to be usable from several threads.
Finally, the current callback model gets into trouble even in a single
threaded scenario: if we have to block in eglSwapBuffers, we may end up
doing unrelated callbacks from within EGL.

The wl_event_queue mechanism lets the application (or middleware such as
EGL or toolkits) assign a proxy to an event queue.  Only events from objects
associated with the queue will be put in the queue, and conversely,
events from objects associated with the queue will not be queue up anywhere
else.  The wl_display struct has a built-in event queue, which is considered
the main and default event queue.  New proxies are associated with the
same queue as the object that created them (either the object that a
request with a new-id argument was sent to or the object that sent an
event with a new-id argument).  A proxy can be moved to a different event
queue by calling wl_proxy_set_queue().

A subsystem, such as EGL, will then create its own event queue and associate
the objects it expects to receive events from with that queue.  If EGL
needs to block and wait for a certain event, it can keep dispatching event
from its queue until that events comes in.  This wont call out to unrelated
code with an EGL lock held.  Similarly, we don't risk the main thread
handling an event from an EGL object and then calling into EGL from a
different thread without the lock held.
https://invent.kde.org/neon/backports-jammy/wayland/commit/385fe30e8b144a968aa88c6546c2ef247771b3d7

Git commit 85a6a470873357089ffb968a176d5074fddd1756 by Kristian Høgsberg on 11/10/2012 at 00:59..
scanner: Send interface name and version for types new_id args

This makes the scanner generate the code and meta data to send the
interface name and version when we pass a typeless new_id.  This way, the
generic factory mechanism provided by wl_display.bind can be provided by
any interface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/85a6a470873357089ffb968a176d5074fddd1756

Git commit 8872956dfd43d36e4165d15cb50d8ef4f81fbe0d by Kristian Høgsberg on 11/10/2012 at 00:59..
scanner: Generate client stubs for wl_display requests

We used to special case this because of the untyped new-id argument in
the bind request.  Now that the scanner can handle that, we can
remove the special case.

Switching to the generated stubs does bring an API change since we now
also take the interface version that the client expects as an argument.
Previously we would take this from the interface struct, but the
application may implement a lower version than what the interface struct
provides.  To make sure we don't try to dispatch event the client
doesn't implement handlers for, we have to use a client supplied version
number.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8872956dfd43d36e4165d15cb50d8ef4f81fbe0d

Git commit 9fe75537ad207c1496e6d9be41a8f5af4b876506 by Kristian Høgsberg on 11/10/2012 at 00:59..
Split the global registry into its own wl_registry object

The only way to make the global object listener interface thread safe is to
make it its own interface and make different listeners different wl_proxies.
The core of the problem is the callback we do when a global show up or
disappears, which we can't do with a lock held.  On the other hand we can't
iterate the global list or the listener list without a lock held as new
globals or listeners may come and go during the iteration.

Making a copy of the list under the lock and then iterating after dropping
the lock wont work either.  In case of the listener list, once we drop the
lock another thread may unregister a listener and destroy the callbackk
data, which means that when we eventually call that listener we'll pass it
free memory and break everything.

We did already solve the thread-safe callback problem, however.  It's what
we do for all protocol events.  So we can just make the global registry
functionality its own new interface and give each thread its own proxy.
That way, the thread will do its own callbacks (with no locks held) and
destroy the proxy when it's no longer interested in wl_registry events.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9fe75537ad207c1496e6d9be41a8f5af4b876506

Git commit 5d2b32b1fd14fddd3920205d1368cf0e499fc6ff by Kristian Høgsberg on 11/10/2012 at 02:01..
connection: Move object lookup out of wl_connection_demarshal()

On the client side where we queue up multiple events before dispatching, we
need to look up the receiving proxy and argument proxies immediately before
calling the handler.  Between queueing up multiple events and eventually
invoking the handler, previous handlers may have destroyed some of the
proxies.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5d2b32b1fd14fddd3920205d1368cf0e499fc6ff

Git commit e0680250e6972c280a35312a15170e5cd5f3d4dc by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 11/10/2012 at 02:01..
doc: Update drag and drop section and add info about selections

Replace the outdated section about drag and drop support with a
rewritten section covering the data source/offer mechanism and
wl_data_device, explaining how selection and drag ang drop works.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e0680250e6972c280a35312a15170e5cd5f3d4dc

Git commit 4f9cf6ec4465411076d4facf6ab67a272f5183d9 by Kristian Høgsberg on 11/10/2012 at 02:01..
Fix typecheck in case of multiple instances of type meta data

In most cases the pointer equality test is sufficient.  However, in
some cases, depending on how things are split across shared objects,
we can end up with multiple instances of the interface metadata
constants.  So if the pointers match, the interfaces are equal, if
they don't match we have to compare the interface names.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4f9cf6ec4465411076d4facf6ab67a272f5183d9

Git commit 39624020fca181e81996915854420888ca8196aa by Kristian Høgsberg (on behalf of Pekka Paalanen) on 11/10/2012 at 02:01..
protocol: double-buffered state for wl_surface

This change breaks the protocol.

The current protocol is racy in that updates to surface content and
surface state (e.g. damage, input and opaque regions) are not guaranteed
to happen at the same time. Due to protocol buffering and handling
practices, the issues are very hard to trigger.

Committing damage to a surface at arbitrary times makes it hard to
track when the wl_buffer is being read by the server, and when it is
safe to overwrite (the case of wl_shm with a single buffer reused
constantly).

This protocol change introduces the concept of double-buffered state.
Such state is accumulated and cached in the server, unused, until the
final commit request. The surface will receive its new content and apply
its new state atomically.

A wl_surface.commit request is added to the protocol. This is thought to
be more clear, than having wl_surface.attach committing implicitly, and
then having another request to commit without attaching, as would be
required for a GL app that wants to change e.g. input region without
redrawing.

When these changes are implemented, clients do not have to worry about
ordering damage vs. input region vs. attach vs. ... anymore. Clients set
the state in any order they want, and kick it all in with a commit.

The interactions between wl_surface.attach, (wl_surface.commit,)
wl_buffer.release, and wl_buffer.destroy have been undocumented. Only
careful inspection of the compositor code has told when a wl_buffer is
free for re-use, especially for wl_shm and wrt. wl_surface.damage.
Try to clarify how it all should work, and what happens if the wl_buffer
gets destroyed.

An additional minor fix: allow NULL argument to
wl_surface.set_opaque_region. The wording in the documentation already
implied that a nil region is allowed.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/39624020fca181e81996915854420888ca8196aa

Git commit b61c0f47d5de3731e484b54dc3e6da3b81c81711 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 11/10/2012 at 02:01..
protocol: clarify input region on drags and pointers

Drag icon and cursor surfaces must never receive input, so their input
region is always empty.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/b61c0f47d5de3731e484b54dc3e6da3b81c81711

Git commit a4fd9e6583c47e9b997fff09dc32de1fc96f3b07 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 11/10/2012 at 02:01..
protocol: wl_surface.frame needs wl_surface.commit

Clarify, when frame request takes effect.
Explain when to send/receive the callback.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a4fd9e6583c47e9b997fff09dc32de1fc96f3b07

Git commit e09ac6450bc7dd2ae99acb9cc40b722a78ba69f4 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 11/10/2012 at 02:01..
protocol: elaborate on wl_buffer

Spell out exactly when a client may re-use a wl_buffer or its backing
storage. Mention the optimization for GL-compositor with wl_shm-clients.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/e09ac6450bc7dd2ae99acb9cc40b722a78ba69f4

Git commit ae8d4b59a44108c22b668c5781524cdc2a1e4d37 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 11/10/2012 at 13:45..
protocol: fix clarification of input region on drags and pointers

The previous clarification did not follow the current implementation in
Weston, where when a surface stops being a cursor or an icon, it becomes
a plain unmapped surface again.

Rewrite the related paragraphs, and fix some typos while at it.

For start drag, make it explicit of which surface argument we are
talking about.

v2:

Make the input region undefined when the use ends. Most likely no-one
will re-use these surfaces for anything else than the same use case, so
leave some slack for the implementations to avoid useless work on
resetting the regions.

Reported-by: Ander Conselvan de Oliveira <conselvan2 at gmail.com>
Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/ae8d4b59a44108c22b668c5781524cdc2a1e4d37

Git commit 0a27ce1fc2b76b5f50451d7e7c76f97a7056615d by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 11/10/2012 at 13:46..
data-device: Don't fake an attach event on drag icon surface

Emit a new drag icon signal instead and let the compositor handle the
unmapping of the icon surface.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0a27ce1fc2b76b5f50451d7e7c76f97a7056615d

Git commit eb5fae3226fa6d0c542fda54a35e282466167e96 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 11/10/2012 at 13:58..
protocol: clarify multiple wl_surface.attach

Explicitly say what happens with the wl_buffer.release event, if you
attach several wl_buffers without a commit in between.

Reported-by: David Herrmann <dh.herrmann at googlemail.com>
Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/eb5fae3226fa6d0c542fda54a35e282466167e96

Git commit ff4afd6c0c0a1dd5a49d7078c52a6a037089341a by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 11/10/2012 at 13:59..
client: Fix double locking bug

The function wl_proxy_create_for_id() would try to acquire the display
lock, but the only call path leading to it would call it with the lock
already acquired.

This patch removes the attempt to acquire the lock and makes the
function static. It was exported before because client had to create
proxy's manually when the server sent a new object id, but since commit
9de9e39f [1] this is no longer necessary.

[1] commit 9de9e39f87adfce1ea9755e394928756254c0ba2
    Author: Kristian Høgsberg <krh at bitplanet.net>
    Date:   Thu Jun 28 22:01:58 2012 -0400

        Allocate client proxy automatically for new objects

v2: Change the right function. Previous patch changed wl_proxy_create()
    instead of wl_proxy_create_for_id().
https://invent.kde.org/neon/backports-jammy/wayland/commit/ff4afd6c0c0a1dd5a49d7078c52a6a037089341a

Git commit 9272fb8f5c4480920e0e9448cebe3de9df898dc6 by Kristian Høgsberg on 11/10/2012 at 21:08..
connection: Print object id for new-id arguments in deubug output

We can't use the same behaviour in both the client and the server.  In the
client this is a wl_proxy pointer in the server it's a pointer to the
uint32_t object id.  This doesn't fix the problem, but it's a slightly
more useful default, since we typically use WAYLAND_DEBUG on the client.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9272fb8f5c4480920e0e9448cebe3de9df898dc6

Git commit d4cc1cd098a4e01258aba38f94462cd44eceb1e3 by Kristian Høgsberg on 11/10/2012 at 21:11..
client: Don't forget to init and destroy mutex

These chunks were dropped at some point, thanks to David Herrmann for
spotting the omission.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d4cc1cd098a4e01258aba38f94462cd44eceb1e3

Git commit 1849534736dea14b97d9e91cd90e75a8a1e5de9f by Kristian Høgsberg on 11/10/2012 at 21:12..
client: Discard proxies with no implementation at dispatch time

We need to queue up events even if a proxy doesn't have an implementation
(listener).  In case of server created new objects, the client haven't
had a chance to set the listener when the first events to the new object
come in.  So now we always queue up events and discard them at
dispatch time if they don't have a listener at that point.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1849534736dea14b97d9e91cd90e75a8a1e5de9f

Git commit 78cfa967681c965d23f6cbf76e080bbb0b564ff6 by Kristian Høgsberg on 15/10/2012 at 14:52..
client: Add wl_display_dispatch_pending() for dispatching without reading

If the main thread ends up dispatching a non-main queue, and not in
a wl_display_dispatch() callback, we may queue up main queue events and read
all data from the socket fd.  When we get back to the main loop, the
socket fd is no longer readable and nothing will trigger dispatching of
the queued up events.

The new function wl_display_dispatch_pending() will dispatch any pending
events, but not attempt to read from the socket.  Clients that integrate
the wayland socket fd into a main loop should call
wl_display_dispatch_pending() and then wl_display_flush()
before going back to blocking in poll(2) or similar mechanism.
https://invent.kde.org/neon/backports-jammy/wayland/commit/78cfa967681c965d23f6cbf76e080bbb0b564ff6

Git commit f8d55a878c578c3fa023e0ad0706d0d831ee450a by Kristian Høgsberg on 15/10/2012 at 15:38..
client: Return number of events dispatched from dispatch functions

To let clients determine whether any events were dispatched, we return
the number of dispatched events.  An event source with an event queue
(such as wl_display or an X connection) may queue up event as a result of
processing a different event source (data on a network socket, timerfd etc).

After dispatching data from fd (or just before blocking) we have to check
such event sources, which is what wl_event_source_check() is used for.
A checked event source will have its handler called with mask=0 just
before blocking.  If any work is done in any of these handlers, we have
to check all the checked sources again, since the work could have queued up
events in a different source.  This is why the event handlers must return
a positive number if events were handled.  Which in turn is why we need
the wl_display dispatch functions to return that as well.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f8d55a878c578c3fa023e0ad0706d0d831ee450a

Git commit 2533ed10580240662074093e9a75271889136c0a by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/10/2012 at 15:44..
doc: publican: Set table of contents depth to 1

This way looks more pretty, in particular for the Appendix which spawns a big
subsections chain.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/2533ed10580240662074093e9a75271889136c0a

Git commit 99c55c9611ce587044cac712222daa8776bfa596 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/10/2012 at 15:45..
doc: publican: Automate version generation

It seems reasonable to use protocol's version for the documentation as well.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/99c55c9611ce587044cac712222daa8776bfa596

Git commit 29c20e2eb6624f1c8dfd08a042a802b689b7a293 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/10/2012 at 15:45..
doc: Remove superfluous 'index'

We're not setting any sort of index. Remove for now.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/29c20e2eb6624f1c8dfd08a042a802b689b7a293

Git commit e2db4cf26f9004f4b473bc0d8c6f277828f80c8b by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/10/2012 at 17:02..
doc: Add auto-generated Wayland Library chapter

For now only Wayland Client API is described on that chapter, which is
extracted via doxygen on ./src/wayland-client.h. We apply a stylesheet
(doxygen-to-publican) on doxygen output so it becomes docbook valid.

Now all we need to do is populate that header while developing in order to
grow a decent documentation. So please use it!

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/e2db4cf26f9004f4b473bc0d8c6f277828f80c8b

Git commit dc28c0bafda013af761510f23942c5f2305c5808 by Kristian Høgsberg (on behalf of Olivier Blin) on 15/10/2012 at 17:04..
scanner: remove useless desc_dump arguments

This are remnant from the desc_dump generalization in commit 375cb418.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dc28c0bafda013af761510f23942c5f2305c5808

Git commit f36c61571f66e79ddd5be38f094067b1fb09f86a by Kristian Høgsberg (on behalf of Olivier Blin) on 15/10/2012 at 17:04..
scanner: fix writing i586 descriptions

This moves desc as first argument of desc_dump().
Description writing was broken on i586 because desc_dump() used
va_arg() after a vsnprintf() call to find the last argument.
But after calling a function with a va_arg argument, this arguments is
undefined.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f36c61571f66e79ddd5be38f094067b1fb09f86a

Git commit 0d77c5302e58e6a176521a6fef10300a0ee7e98a by Kristian Høgsberg (on behalf of Olivier Blin) on 15/10/2012 at 17:04..
scanner: use printf format attributes for desc_dump
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d77c5302e58e6a176521a6fef10300a0ee7e98a

Git commit e78abc489250887c543a1fd0ae43a9839997486a by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 15/10/2012 at 17:04..
doc: Split protocol description paragraphs properly

The xsl translation from the protocol xml to publican would create only
one paragraph for all the text in a description. Make it generate one
paragraph for each block of text separated by two consecutive line
breaks instead.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/e78abc489250887c543a1fd0ae43a9839997486a

Git commit 2320757e8ecd02bb3a12848138dee172979be310 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 15/10/2012 at 17:06..
doc: Add some doxygen documentation to wayland-client entry points

Add some brief documentation for the public libwayland-client entry
points. This is by no means complete, some functions are still
undocumented and some might need extra information.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/2320757e8ecd02bb3a12848138dee172979be310

Git commit 3f94d984f7aa210d2c769285ea3ecd99de7c3086 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 15/10/2012 at 17:07..
doc: Improve libwayland-client doxygen documentation

Document wl_proxy, wl_display and wl_event_queue classes and add a
description to all public entry points. Also fix some typos.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f94d984f7aa210d2c769285ea3ecd99de7c3086

Git commit 96a6ee58b96afc51a78859fe6da0d9b015a68cc9 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/10/2012 at 17:10..
doc: doxygen: Add .gitignore

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/96a6ee58b96afc51a78859fe6da0d9b015a68cc9

Git commit 008760822b973ff1f8122533787a4dadeed7e2a8 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 15/10/2012 at 17:10..
configure: Make documentation option work in fact

Also, now doxygen is mandatory for building the documentation (looks
reasonable because both man-pages and publican will need it).

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/008760822b973ff1f8122533787a4dadeed7e2a8

Git commit 36e29df2cbbe44292765902d5fbbdd56bc7cf280 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 15/10/2012 at 18:10..
protocol: Clarify pointer axis event

Pointer axis events are in the same coordinate space as motion events.

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

Git commit 66e4aa98cf5505a6f849f696afc9256714a5bee9 by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:06..
wayland-client: add wl_display_get_error()

A server may asynchronously send errors via wl_display.error() events.
Instead of aborting we now the a "last_error" flag inside of wl_display
objects. The user can retrieve these via wl_display_get_error().

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/66e4aa98cf5505a6f849f696afc9256714a5bee9

Git commit 0d5850e6d67a09a670625dfb99ec9efefdafb75f by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:06..
wayland-util: return -1 if wl_array_copy() fails

We might have to perform memory allocations in wl_array_copy(), so catch
out-of-memory errors in wl_array_add() and return -1 before changing any
state.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d5850e6d67a09a670625dfb99ec9efefdafb75f

Git commit c13a65fd202d6e7d22e5ea0e334b50135a1d66a8 by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:08..
wayland-util: return 0 on OOM in wl_map_insert_new()

If we cannot increase the array for new entries, we now return 0 instead
of accessing invalid memory.

krh: Edited to return 0 on failure instead.  In the initialization path,
we call wl_map_insert_new() to insert NULL at index 0, which also returns
0 but not as an error.  Since we do that up front, every other case of
returning 0 is an unambiguous error.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c13a65fd202d6e7d22e5ea0e334b50135a1d66a8

Git commit cda89f3a42789771907a9d6a3159f7c22c99985e by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:12..
connection: close pending outgoing fds on shutdown

When destroying a wl_connection object, there might still be data in the
queue. We would leak open file-descriptors so we must close them.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/cda89f3a42789771907a9d6a3159f7c22c99985e

Git commit 9bd41ed6a9f027d687e449ed020db848b28bb58a by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:15..
connection: fix buffer-overflow in close_fds()

If we push two messages via wl_connection_write() and both messages
contain more than MAX_FDS_OUT file-descriptors combined, then
wl_connection_flush() will write only MAX_FDS_OUT of them, but close all
pending ones, too.

Furthermore, close_fds() will copy more FDs out of the buffer than it can
hold and cause a buffer overflow. Therefore, we simply pass a maximum
limit to close_fds().

During shutdown, we simply close all available FDs.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/9bd41ed6a9f027d687e449ed020db848b28bb58a

Git commit 5bae0650baa400273720d7f5953536f99969d6ef by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:16..
connection: close pending incoming FDs on shutdown

Same problem as with outgoing FDs. We need to close these on shutdown,
otherwise we leak open file descriptors.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/5bae0650baa400273720d7f5953536f99969d6ef

Git commit 0b399b8d68b92627525c01e787d0b98b169b604c by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:23..
connection: fix buffer-overflow in build_cmsg()

Same problem as we had with close_fds(). We cannot rely on the fds_out
buffer being filled with less than MAX_FDS_OUT file descriptors.
Therefore, write at most MAX_FDS_OUT file-descriptors to the outgoing
buffer.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0b399b8d68b92627525c01e787d0b98b169b604c

Git commit a9dd3badb5ca24bed16b7ef9ae57088dbcb4a2e5 by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 20:25..
connection: fix leaking FDs on buffer-overflow during read

If we read more FDs than we have room for, we currently leak FDs because
we overwrite previous still pending FDs. Instead, we do now close incoming
FDs if the buffer is full and return EOVERFLOW.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a9dd3badb5ca24bed16b7ef9ae57088dbcb4a2e5

Git commit ad03a59f5cab9e853dc024c801b49aa3ef6d33ff by Kristian Høgsberg on 15/10/2012 at 21:16..
connection: Use uin32_t for circular buffer indexes

We rely on well-defined unsigned overflow behaviour so let's make the
index fields actually unsigned.  Signed ints aren't guaranteed to have the
behavior we want (could be either ones or twos complement).
https://invent.kde.org/neon/backports-jammy/wayland/commit/ad03a59f5cab9e853dc024c801b49aa3ef6d33ff

Git commit 04720307e91c45a772858fd3fcb0203a0b68ac17 by Kristian Høgsberg on 15/10/2012 at 21:21..
connection: return error on buffer-overflow during read

wl_connection_read() assumes that the caller dispatched all messages
before calling it. wl_buffer_put_iov() does only provide enough room so we
fill the buffer. So the only case when the buffer overflows, is when a
previous read filled up the buffer but we couldn't parse a single message
from it. In this case, the client sent a message bigger than our buffer
and we should return an error and close the connection.

krh: Edited from Davids original patch to just check that the buffer
 isn't full before we try reading into it.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/04720307e91c45a772858fd3fcb0203a0b68ac17

Git commit 780b9806709d7c7a711d609f35e7e2554745c301 by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 21:27..
wayland-client: link all event-queues of each display into a list

We need access to all event-queues of a single wl_display object. For
instance during connection-errors, we need to be able to wake up all event
queues. Otherwise, they will be stuck waiting for incoming events.

The API user is responsible to keep a wl_display object around until all
event-queues that were created on it are destroyed.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/780b9806709d7c7a711d609f35e7e2554745c301

Git commit edae4ffa3741378d0f0b0122b5a8f8743034903b by Kristian Høgsberg on 15/10/2012 at 21:50..
wayland: Take ownership of fd in wl_display_connect_to_fd()

This means we're free to close it when we want, which we'll use to wake
up the main thread if we hit an error in a different thread.
https://invent.kde.org/neon/backports-jammy/wayland/commit/edae4ffa3741378d0f0b0122b5a8f8743034903b

Git commit 33b7637b4500a682018b503837b8aca9afae36f2 by Kristian Høgsberg (on behalf of David Herrmann) on 15/10/2012 at 23:23..
wayland-client: forward fatal errors to caller

If any callback or helper function fails with a fatal error, we now
set the last_error flag and prevent all further I/O on the wl_display. We
wake up all sleeping event-queues and notify the caller that they
should shutdown wl_display.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/33b7637b4500a682018b503837b8aca9afae36f2

Git commit 4ce294d641a7b59c5fa79b508cdd69a333902a72 by Kristian Høgsberg (on behalf of Matt Roper) on 15/10/2012 at 23:44..
wayland-server: Add touch grab support

Touch grabs allow the compositor to be placed into a mode where touch events
temporarily bypass their default behavior and perform other operations.
Wayland already supports keyboard and pointer grabs, but was lacking
corresponding touch support.  The default touch grab handlers here contain the
client event delivery code that was previously called directly in weston.

Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/4ce294d641a7b59c5fa79b508cdd69a333902a72

Git commit f858099d47fedd17515cfe9b48d389ce1f4d5397 by Kristian Høgsberg on 16/10/2012 at 00:48..
docs: Make distcheck happy

publican doesn't seem to be a very well-behaved tool and needs a bit
of hacking to work well for both in-tree and out-of-tree builds.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f858099d47fedd17515cfe9b48d389ce1f4d5397

Git commit 6ac1cd692ff08b858a60b85bbc2b744c5c2790d7 by Kristian Høgsberg on 16/10/2012 at 00:49..
configure.ac: Bump version to 0.99.0
https://invent.kde.org/neon/backports-jammy/wayland/commit/6ac1cd692ff08b858a60b85bbc2b744c5c2790d7

Git commit de1b4713180d6d87df188742d55379a98a7ea42d by Kristian Høgsberg (on behalf of Jonas Ådahl) on 16/10/2012 at 14:44..
protocol: Clarify pointer axis event

Pointer axis events are in the same coordinate space as motion events.

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

Git commit 80e6b7d7ed0b8fdedb85f88f193bbe8da692420f by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 16/10/2012 at 14:50..
doc: Put wl_display_flush() documentation in the right place

It seems a rebase error caused it to end up in the wrong place.
https://invent.kde.org/neon/backports-jammy/wayland/commit/80e6b7d7ed0b8fdedb85f88f193bbe8da692420f

Git commit 1c10723dfe953fd893b095d62acab0dca954b923 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 16/10/2012 at 14:50..
doc: Document the restriction of destroying queues before the display
https://invent.kde.org/neon/backports-jammy/wayland/commit/1c10723dfe953fd893b095d62acab0dca954b923

Git commit 244fe474dd6243e2d54229287a7f4e5aefcba47e by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 16/10/2012 at 14:50..
doc: Document change of return value of dispatch functions
https://invent.kde.org/neon/backports-jammy/wayland/commit/244fe474dd6243e2d54229287a7f4e5aefcba47e

Git commit de3d0ecd44f129cd5146bc08638cd6d5822c90b8 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 16/10/2012 at 14:50..
doc: Add doxygen documentation to wl_display_get_error()
https://invent.kde.org/neon/backports-jammy/wayland/commit/de3d0ecd44f129cd5146bc08638cd6d5822c90b8

Git commit cb2296778d4e263a728d9fbe205f93b7648d0571 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 16/10/2012 at 14:52..
protocol: say update instead of repaint

wl_surface.commit itself does not force any repainting unless there is
damage, so change the wording to not imply repainting.

Reported-by: John Kåre Alsaker <john.kare.alsaker at gmail.com>
Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/cb2296778d4e263a728d9fbe205f93b7648d0571

Git commit 6c3e9b8f54fb988494443304ca172b2c95ea7efe by Kristian Høgsberg (on behalf of Pekka Paalanen) on 16/10/2012 at 15:06..
protocol: try to clarify wl_buffer doc

Fix few typos in wl_buffer description.

Mention backing storage in wl_buffer.destroy.

Try to clarify the wl_buffer.release semantics by not explaining what
*might* happen. It is important to not suggest, that if release does not
come before frame callback, it will not come before attaching a new
buffer to the surface. We want to allow the following scenario:

The compositor is able to texture from wl_buffers directly, but it also
keeps a copy of the surface contents. The copy is updated when the
compositor is idle, to avoid the performance hit on
wl_surface.attach/commit. When the copy completes some time later, the
server sends the release event. If the client has not yet allocated a
second buffer (e.g. it updates rarely), it can reuse the old buffer.

Reported-by: John Kåre Alsaker <john.kare.alsaker at gmail.com>
Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/6c3e9b8f54fb988494443304ca172b2c95ea7efe

Git commit 5cff8244f27c270cabb24f010ef76b0096a70872 by Kristian Høgsberg (on behalf of John Kåre Alsaker) on 16/10/2012 at 15:12..
connection: Don't call memcpy with null pointer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5cff8244f27c270cabb24f010ef76b0096a70872

Git commit fa5180178609053b1f36d3aa06216b22f92ec1a8 by Kristian Høgsberg (on behalf of John Kåre Alsaker) on 16/10/2012 at 15:14..
scanner: Make sure arguments have names.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fa5180178609053b1f36d3aa06216b22f92ec1a8

Git commit a6bc8b426c4ef089c33c95bec487d3101b110277 by Kristian Høgsberg (on behalf of John Kåre Alsaker) on 16/10/2012 at 15:15..
connection: Removed crashing code.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a6bc8b426c4ef089c33c95bec487d3101b110277

Git commit 4b6d0e65e7768f68260b35cf109e83d829480a62 by Kristian Høgsberg (on behalf of John Kåre Alsaker) on 16/10/2012 at 15:24..
connection: Dereference id completely for comparasion.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4b6d0e65e7768f68260b35cf109e83d829480a62

Git commit 009d452432dd3550d2db0d931dc39769939f3ddf by Kristian Høgsberg on 16/10/2012 at 19:30..
wayland-egl: Drop ill-defined pixmap support

We don't have a use case for this and the actual semantics and
synchronization behavior of wl_egl_pixmap were never really well-defined.
It also doesn't provide the cross-process buffer sharing that make
window systems pixmaps useful in other window systems.
https://invent.kde.org/neon/backports-jammy/wayland/commit/009d452432dd3550d2db0d931dc39769939f3ddf

Git commit 0a6fabecd7f2b15cb320414d37f29a007f6e171a by Kristian Høgsberg (on behalf of John Kåre Alsaker) on 17/10/2012 at 20:46..
wayland-server: Fix up error handling with client creation.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0a6fabecd7f2b15cb320414d37f29a007f6e171a

Git commit a4dace7e307577e39fd4bb354defcbc171a2dc92 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 17/10/2012 at 21:29..
doc: Update wl_display_get_error() documentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/a4dace7e307577e39fd4bb354defcbc171a2dc92

Git commit 818bb399b040f9db5d6563cfbd9ec8da9131f30d by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 19/10/2012 at 20:50..
doc: Clarify documentation about dispatching event queues

Clarify on what cases each of the dispatching functions may block, what
is the main thread and add some real world examples.
https://invent.kde.org/neon/backports-jammy/wayland/commit/818bb399b040f9db5d6563cfbd9ec8da9131f30d

Git commit 68c4136a070178d7b4712a42140af960bb3ba1a7 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 19/10/2012 at 20:50..
doc: Update doxygen documentation when source files are changed
https://invent.kde.org/neon/backports-jammy/wayland/commit/68c4136a070178d7b4712a42140af960bb3ba1a7

Git commit 56061674cd80e701174c1f1b1bf575aa308ecbd8 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 19/10/2012 at 20:51..
configure: Depend on a more strict version of publican

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

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/56061674cd80e701174c1f1b1bf575aa308ecbd8

Git commit bdd272f024744b4ed5ba6daedef7eb023bcac7cb by Kristian Høgsberg on 19/10/2012 at 21:08..
Move ARRAY_LENGTH out of public headers

Exporting unprefixed symbols is a pretty bad idea so don't do that.
Instea of redefining it WL_ARRAY_LENGTH, we just move the define to
our private header.  The scanner generates code that uses ARRAY_LENGTH,
but we can just make it count the number elements and emit an integer
constant instead.
https://invent.kde.org/neon/backports-jammy/wayland/commit/bdd272f024744b4ed5ba6daedef7eb023bcac7cb

Git commit 7ec35d8e13c28b39d412127ac2459854c66cdfd5 by Kristian Høgsberg on 20/10/2012 at 03:06..
Move un-namespaced container_of into private header
https://invent.kde.org/neon/backports-jammy/wayland/commit/7ec35d8e13c28b39d412127ac2459854c66cdfd5

Git commit 620d9edb2549e4cdbf07b61dae92a22d6fc7e971 by Kristian Høgsberg on 20/10/2012 at 03:26..
Rename __wl_container_of macro to just wl_container_of

The _* namespace and identifiers with double underscore are reserved
by the C standard.  That makes __wl_container_of is double plus bad,
so lets just call it wl_container_of.
https://invent.kde.org/neon/backports-jammy/wayland/commit/620d9edb2549e4cdbf07b61dae92a22d6fc7e971

Git commit 1bade73b6b58cf2c3187b0fca72f4aec8301c4a3 by Kristian Høgsberg on 20/10/2012 at 15:38..
scanner: Fix valgrind errors
https://invent.kde.org/neon/backports-jammy/wayland/commit/1bade73b6b58cf2c3187b0fca72f4aec8301c4a3

Git commit c450b6e23bd9f57d8908bd11b96579ac107bed91 by Kristian Høgsberg on 21/10/2012 at 14:04..
tests: Include wayland-private.h for container_of
https://invent.kde.org/neon/backports-jammy/wayland/commit/c450b6e23bd9f57d8908bd11b96579ac107bed91

Git commit a04beb1298d44ec4a6b8e14efeb36353d37445f5 by Kristian Høgsberg on 22/10/2012 at 00:53..
Update TODO

We've knocked a few items of the list.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a04beb1298d44ec4a6b8e14efeb36353d37445f5

Git commit 65eef9d817d3db2ae7c61cd02075d46cf7bd9f90 by Kristian Høgsberg on 22/10/2012 at 02:08..
wayland: Add protocol documentation for various interfaces
https://invent.kde.org/neon/backports-jammy/wayland/commit/65eef9d817d3db2ae7c61cd02075d46cf7bd9f90

Git commit cc95db359c8b935699173ec921ba9316c762aea5 by Kristian Høgsberg on 22/10/2012 at 02:11..
doc: Fix typo in generated section header

We were generating headers such as 'Events provided by wl_display events',
drop the last 'events'.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cc95db359c8b935699173ec921ba9316c762aea5

Git commit 3b7d7b0c8014e31ec8ae1d2b31fb8c6de54cbc21 by Kristian Høgsberg on 22/10/2012 at 02:24..
scanner: Preserve paragraph breaks in input XML

If we have a blank line in the incoming XML documentation, keep that in
the emitted doxygen comments.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3b7d7b0c8014e31ec8ae1d2b31fb8c6de54cbc21

Git commit 1f521a4f7760df73e1d1d8a6791d1c7bf536584e by Kristian Høgsberg on 22/10/2012 at 18:55..
configure.ac: Bump version to 1.0.0
https://invent.kde.org/neon/backports-jammy/wayland/commit/1f521a4f7760df73e1d1d8a6791d1c7bf536584e

Git commit c4857e92321e85afe40fb66902cdddc14fbae05a by Kristian Høgsberg on 29/10/2012 at 17:12..
doc: Remove obsolete doxygen tags

https://bugs.freedesktop.org/show_bug.cgi?id=56377
https://invent.kde.org/neon/backports-jammy/wayland/commit/c4857e92321e85afe40fb66902cdddc14fbae05a

Git commit e273c7cde34c23437d34732082d46aee537f6611 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 05/11/2012 at 20:44..
client: Keep track of proxy validity and number of reference holders

When events are queued, the associated proxy objects (target proxy and
potentially closure argument proxies) are verified being valid. However,
as any event may destroy some proxy object, validity needs to be
verified again before dispatching. Before this change this was done by
again looking up the object via the display object map, but that did not
work because a delete_id event could be dispatched out-of-order if it
was queued in another queue, causing the object map to either have a new
proxy object with the same id or none at all, had it been destroyed in
an earlier event in the queue.

Instead, make wl_proxy reference counted and increase the reference
counter of every object associated with an event when it is queued. In
wl_proxy_destroy() set a flag saying the proxy has been destroyed by the
application and only free the proxy if the reference counter reaches
zero after decreasing it.

Before dispatching, verify that a proxy object still is valid by
checking that the flag set in wl_proxy_destroy() has not been set. When
dequeuing the event, all associated proxy objects are dereferenced and
free:ed if the reference counter reaches zero. As proxy reference counter
is initiated to 1, when dispatching an event it can never reach zero
without having the destroyed flag set.

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

Git commit 1801cdc41ac0653e4ff0f0cc4eeaf373ae40edf4 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 05/11/2012 at 20:48..
tests: Add queue test case

Check that after a callback removes a proxy that most likely will have
several events queued up with the same target proxy, no more callbacks
are invoked.

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

Git commit 3d651dc2eecbfba8c1fc813eedcf615364d5a2ac by Kristian Høgsberg (on behalf of Jonas Ådahl) on 07/11/2012 at 23:37..
tests: Use a pipe for synchronization to avoid potential deadlock

Using signals in the previous way could potentially lead to dead locks
if the SIGCONT was signalled before a listener was registered.

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

Git commit 2a8da76fb1b3afdb633a9551054ff9cecb89beca by Kristian Høgsberg (on behalf of Jonas Ådahl) on 07/11/2012 at 23:37..
tests: Add out of order delete_id queue tests

Verify that when receiving the first of two synchronization callback
events, destroying the second one doesn't cause any errors even if the
delete_id event is handled out of order.

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

Git commit a95aba7fcae7c900c389faff16a7768fe2eb326a by Tiago Vignatti on 12/11/2012 at 18:07..
doc: doxygen: Interpret the first line comment as the brief

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a95aba7fcae7c900c389faff16a7768fe2eb326a

Git commit c77ba6bebc181d88851d802907b0016fd4f810fc by Tiago Vignatti on 12/11/2012 at 18:08..
doc: Auto-generate API methods and classes documentation

There's work to do still for giving a prettier style on the documentation, for
instance splitting paragraphs correctly and printing the detailed description
of the methods as well.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/c77ba6bebc181d88851d802907b0016fd4f810fc

Git commit 5909dddc78573774bd3a93c280831a7d18d82994 by Tiago Vignatti on 12/11/2012 at 18:08..
doc: Remove unused css and xslt for the protocol

This was added previously (commit 015c42e1) when we didn't have docbook
formatted documentation. Now it became quite useless.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/5909dddc78573774bd3a93c280831a7d18d82994

Git commit 5afebc4cb191fb1e9cd44352800bd4e5a3caa42a by Tiago Vignatti on 12/11/2012 at 18:08..
doc: Set publican to quiet mode

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/5afebc4cb191fb1e9cd44352800bd4e5a3caa42a

Git commit 4a8395f1a8eb6f2ea5ac37fcf893760ea03f1ea1 by Tiago Vignatti on 12/11/2012 at 18:08..
doc: Update .gitignore

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/4a8395f1a8eb6f2ea5ac37fcf893760ea03f1ea1

Git commit 73d845af941193c04c2451cea16f7500753e08b0 by Tiago Vignatti on 12/11/2012 at 18:08..
doc: Fix incorrectly formatted section header

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

Reported-by: Petr Gladkikh <PetrGlad at gmail.com>
Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/73d845af941193c04c2451cea16f7500753e08b0

Git commit b46dab17f0912331b5687891d84361f67b16ec54 by Kristian Høgsberg (on behalf of Martin Olsson) on 14/11/2012 at 18:59..
client: Fix source comment typos
https://invent.kde.org/neon/backports-jammy/wayland/commit/b46dab17f0912331b5687891d84361f67b16ec54

Git commit ee12014d12fd96d02834693a349b79e3d085632e by Maarten Lankhorst on 19/11/2012 at 18:14..
Merge tag '1.0.0' into debian-experimental

1.0.0
https://invent.kde.org/neon/backports-jammy/wayland/commit/ee12014d12fd96d02834693a349b79e3d085632e

Git commit fe42325c6aca36063678cf44719c2c35ee785ce5 by Maarten Lankhorst on 19/11/2012 at 18:15..
New upstream release

* New upstream release
* debian/libwayland-dev.install:
  - Install development man pages
* debian/control:
  - Build-depend on doxygen
  - Build-depend on xsltproc
https://invent.kde.org/neon/backports-jammy/wayland/commit/fe42325c6aca36063678cf44719c2c35ee785ce5

Git commit 94fd3d1dd475b49a63b954ac4584381fa151bbd0 by Kristian Høgsberg on 19/11/2012 at 20:02..
protocol: Add summary description for wl_data_device_manager
https://invent.kde.org/neon/backports-jammy/wayland/commit/94fd3d1dd475b49a63b954ac4584381fa151bbd0

Git commit 3a671b4d3db6dd03bcc6e266484d30b9f3f4fd8b by Kristian Høgsberg on 19/11/2012 at 20:44..
protocol: Fix copy and paste summary
https://invent.kde.org/neon/backports-jammy/wayland/commit/3a671b4d3db6dd03bcc6e266484d30b9f3f4fd8b

Git commit 173e1606322675149c09443e6037737748dd72f7 by Kristian Høgsberg on 19/11/2012 at 22:11..
Fix distcheck by adding back protocol/Makefile.am

5909dddc78573774bd3a93c280831a7d18d82994 removed protocol/Makefile.am
which meant protocol/wayland.xml no longer got included in the tarball.
Add back protocol/Makefile.am and configure.ac bits and add protocol to
subdirs in Makefile.am to fix this.
https://invent.kde.org/neon/backports-jammy/wayland/commit/173e1606322675149c09443e6037737748dd72f7

Git commit edb0a1bef5e58f9db44116f62c34f481f990221c by Kristian Høgsberg on 19/11/2012 at 22:28..
doc: Fix out-of-source build so distcheck works again

The amount of generated files and hacks over hacks in the doc/ directory
is getting out of hand and we need a better solution.  For now, just get
distcheck back to working.
https://invent.kde.org/neon/backports-jammy/wayland/commit/edb0a1bef5e58f9db44116f62c34f481f990221c

Git commit 5006829041b202f73d051be016a41adf3662bfdc by Kristian Høgsberg on 19/11/2012 at 22:30..
configure.ac: Bump version to 1.0.1
https://invent.kde.org/neon/backports-jammy/wayland/commit/5006829041b202f73d051be016a41adf3662bfdc

Git commit 2a7a5030738cf5c9cbb7f6db8de88c8d51e1216c by Sven Joachim on 20/11/2012 at 17:28..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/2a7a5030738cf5c9cbb7f6db8de88c8d51e1216c

Git commit 0665236f69130ef5479ef804ada0a37dd9c32326 by Sven Joachim on 20/11/2012 at 17:29..
New upstream release
https://invent.kde.org/neon/backports-jammy/wayland/commit/0665236f69130ef5479ef804ada0a37dd9c32326

Git commit 0f5d41e3bbc2741c86b4c85f9f52b22cf35aa71b by Kristian Høgsberg on 21/11/2012 at 22:14..
debug: Allow WAYLAND_DEBUG=server/client for server/client side only debug

By default the server will dump protocol for both the server and its
clients when run with WAYLAND_DEBUG=1.  That's still the case, but it now
also understands WAYLAND_DEBUG=client or WAYLAND_DEBUG=server, which
will only enable debug dumping on either client or server side.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0f5d41e3bbc2741c86b4c85f9f52b22cf35aa71b

Git commit fb205078819380538e6c0793f10ce603d7368da3 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 24/11/2012 at 02:50..
client: Add an entry point for dispatching a queue without blocking

On the client side EGL, all the wl_buffer.release events need to be
processed before buffer allocation, otherwise a third buffer might
be allocated unnecessarily. However, the buffer allocation should
not block in the case no event was received. In order to do that, a
non-blocking queue dispatch function is needed.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fb205078819380538e6c0793f10ce603d7368da3

Git commit 5df752ab16f4a343416952ccbc07ab6aa0217429 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 24/11/2012 at 03:51..
doc: Fix typos

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/5df752ab16f4a343416952ccbc07ab6aa0217429

Git commit d7a63fdbfb8fcfcf4b2a81bc4773958ebd785d15 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 27/11/2012 at 16:09..
client: Don't cancel a roundtrip when any event is received

Since wl_display_dispatch() returns the number of processed events or -1
on error, only cancel the roundtrip if an -1 is returned.

This also fixes a potential memory corruption bug happening when
wl_display_roundtrip() does an early return and the callback later
writes to the then out of scope stack allocated `done' parameter.

Introduced by 33b7637b4500a682018b503837b8aca9afae36f2.

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

Git commit 00639de12050c8755965a569de4f6df9dc36171f by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 27/11/2012 at 16:13..
scanner: Fix wrong restriction on since field

The scanner would not allow two consecutive requests on an interface to
have the same since number, so if a new version of an interface added
two new request the version number would have to be increased by two.
https://invent.kde.org/neon/backports-jammy/wayland/commit/00639de12050c8755965a569de4f6df9dc36171f

Git commit e8fbce73c7d2d546fcb90fe6115306f27c699fff by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 27/11/2012 at 16:13..
protocol: Add a wl_surface request for setting buffer transformation

This request allows a client to render its contents according to the
output transform, enabling the compositor to use optimizations such as
overlays, hardware cursors, scan out of a client buffer for
fullscreen surface, etc, even if the output is rotated.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e8fbce73c7d2d546fcb90fe6115306f27c699fff

Git commit 92ca1a0e800cf85e42699774b141ac5204d0f7c8 by Kristian Høgsberg (on behalf of Quentin Glidic) on 28/11/2012 at 01:35..
pkgconfig: Use configure provided directories

https://bugs.freedesktop.org/show_bug.cgi?id=57630
https://invent.kde.org/neon/backports-jammy/wayland/commit/92ca1a0e800cf85e42699774b141ac5204d0f7c8

Git commit 65a0bbdbdeaa4552a1af4ad4b1f3f4960305444f by Kristian Høgsberg (on behalf of Quentin Glidic) on 28/11/2012 at 01:36..
pkgconfig: Use configure provided directories

https://bugs.freedesktop.org/show_bug.cgi?id=57630
https://invent.kde.org/neon/backports-jammy/wayland/commit/65a0bbdbdeaa4552a1af4ad4b1f3f4960305444f

Git commit 544f4d13902e64dffc41e91f2181806551d9931d by Sven Joachim on 30/11/2012 at 18:42..
debian/control: Merge entries for unreleased 0.95.0-1 version

No need to have two UNRELEASED versions.
https://invent.kde.org/neon/backports-jammy/wayland/commit/544f4d13902e64dffc41e91f2181806551d9931d

Git commit 8139edd539c688d1289def234d2c974ed2c8c721 by Sven Joachim on 30/11/2012 at 18:43..
Close multiarch bug 690081
https://invent.kde.org/neon/backports-jammy/wayland/commit/8139edd539c688d1289def234d2c974ed2c8c721

Git commit 594041962639eb8625b497689ea2419768247fc7 by Kristian Høgsberg on 30/11/2012 at 19:05..
client: Add \since tag for wl_display_dispatch_queue_pending() documentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/594041962639eb8625b497689ea2419768247fc7

Git commit 5c34b15f033eb0eb7062e99f7761d4cbd93af61e by Kristian Høgsberg on 30/11/2012 at 19:14..
client: Add \since tag for wl_display_dispatch_queue_pending() documentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/5c34b15f033eb0eb7062e99f7761d4cbd93af61e

Git commit da999862716ea7824c254de68af4080d930384ea by Kristian Høgsberg on 30/11/2012 at 21:43..
client: Update libtool version for new entry points

We've added wl_display_dispatch_queue_pending, so update the libtool
library current and age fields accordingly.
https://invent.kde.org/neon/backports-jammy/wayland/commit/da999862716ea7824c254de68af4080d930384ea

Git commit 64e37842983349dcb3bfd102885669db0c01b16c by Kristian Høgsberg on 30/11/2012 at 21:43..
configure.ac: Bump version to 1.0.2
https://invent.kde.org/neon/backports-jammy/wayland/commit/64e37842983349dcb3bfd102885669db0c01b16c

Git commit d943c3de08bf0e9ba355041909ed2960df4d2070 by Kristian Høgsberg on 30/11/2012 at 22:19..
configure.ac: Update version to 1.1.0 during development on git master

This lets dependent components, such as mesa or toolkits use git master
instead of any 1.0.x release.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d943c3de08bf0e9ba355041909ed2960df4d2070

Git commit 4648249054b251f452cea08ecffb93ca7ace6e23 by Sven Joachim on 01/12/2012 at 12:31..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/4648249054b251f452cea08ecffb93ca7ace6e23

Git commit 194a162b3f0d79371f654d4e42e99b283b34408d by Sven Joachim on 01/12/2012 at 12:32..
New upstream release
https://invent.kde.org/neon/backports-jammy/wayland/commit/194a162b3f0d79371f654d4e42e99b283b34408d

Git commit b25d67cc5f3353e3b0e22dfc3d076f535274498a by Sven Joachim on 01/12/2012 at 16:45..
Use wildcards in libwayland0.install

Failing the build because libwayland-client went from 0.0.0 to 0.1.0
is annoying, and since wayland has reached version 1.0 it seems to be
sufficient to watch out for ABI changes.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b25d67cc5f3353e3b0e22dfc3d076f535274498a

Git commit 0c0484706dcf030ff4060c1aba25934f7be2a082 by Sven Joachim on 01/12/2012 at 16:46..
Restore libwayland0's symbols files

Commit ab701dab8693cf4682be6773706ef17eb7ebf8f7 inadvertently dropped
it.  Don't create hard dependencies anymore, since the ABI should be
stable now.
https://invent.kde.org/neon/backports-jammy/wayland/commit/0c0484706dcf030ff4060c1aba25934f7be2a082

Git commit 359fca729e33c6e14bfe366dbeed0b489e4d9237 by Sven Joachim on 01/12/2012 at 16:46..
Update symbols file

Bump minver of all symbols to 1.0.2, since it would be quite a lot of
work to find out which have changed since 0.85 or even earlier
versions.
https://invent.kde.org/neon/backports-jammy/wayland/commit/359fca729e33c6e14bfe366dbeed0b489e4d9237

Git commit c7345b87cdc29f577ac81b4852fd27342631215f by Sven Joachim on 02/12/2012 at 18:12..
Add Homepage field to debian/control
https://invent.kde.org/neon/backports-jammy/wayland/commit/c7345b87cdc29f577ac81b4852fd27342631215f

Git commit 51d2a88b7ff2c3cfa7f5f966b4425b0f069b3a93 by Sven Joachim on 02/12/2012 at 18:52..
Update debian/copyright

Change source URL to directory with wayland releases.  Remove
Last-Updated field which is not mentioned in version 1.0 of the
debian/copyright file formation.

Update years based on the information in COPYING.

Drop paragraphs for scanner.c which is no longer under GPL and
wayland-hash.c which no longer exists.
https://invent.kde.org/neon/backports-jammy/wayland/commit/51d2a88b7ff2c3cfa7f5f966b4425b0f069b3a93

Git commit 663c5a989b14c6b18782cc09d55e3c099d5f3a26 by Sven Joachim on 02/12/2012 at 18:58..
Add a few more copyright holders to debian/copyright

Jonas Ådahl for tests/queue-test, Keith Packard for
cursor/xcursor.[ch], SUSE for cursor/cursor-data.h.
https://invent.kde.org/neon/backports-jammy/wayland/commit/663c5a989b14c6b18782cc09d55e3c099d5f3a26

Git commit 76dae4f089793eb7cb9eedd6f95a864b17cc50f6 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 03/12/2012 at 14:49..
doc: Only generate Wayland documentation if xsltproc was found

Instead of failing to generate documentation because xsltproc doesn't
exist, don't try to generate at all.

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

Git commit e8ce68392016bfdbbdf407dfa240f5644638ff45 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 03/12/2012 at 14:49..
man, configure.ac: Only generate man pages if we can do it offline

Instead of relying on downloading the stylesheet from the Internet for
generating man pages, only generate them if the stylesheet is available
locally.

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

Git commit 7415e8eb053d7f2e7254466ab0acbdab0faf4742 by Kristian Høgsberg (on behalf of Sven Joachim) on 03/12/2012 at 14:55..
tests: Don't leave temporary files behind

Signed-off-by: Sven Joachim <svenjoac at gmx.de>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7415e8eb053d7f2e7254466ab0acbdab0faf4742

Git commit bfdf44ec48589a971593f75b5e0d4af05dadbe95 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 03/12/2012 at 15:10..
tests: rename temporary files

This is libwayland, not weston, so call the temporary files
wayland-tests-*, not weston-tests-*.

This is a candidate for the stable branch.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/bfdf44ec48589a971593f75b5e0d4af05dadbe95

Git commit 61387cac3de4dbe574263a0fc4c1fce1ecd3629d by Kristian Høgsberg (on behalf of Jonas Ådahl) on 03/12/2012 at 15:11..
doc: Only generate Wayland documentation if xsltproc was found

Instead of failing to generate documentation because xsltproc doesn't
exist, don't try to generate at all.

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

Git commit 7fd3ca049b2339363d31abcb7fe0e8305972317b by Kristian Høgsberg (on behalf of Jonas Ådahl) on 03/12/2012 at 15:11..
man, configure.ac: Only generate man pages if we can do it offline

Instead of relying on downloading the stylesheet from the Internet for
generating man pages, only generate them if the stylesheet is available
locally.

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

Git commit 15625a5cc70f58aa466f3db5171a5fa1851aad71 by Kristian Høgsberg (on behalf of Sven Joachim) on 03/12/2012 at 15:11..
tests: Don't leave temporary files behind

Signed-off-by: Sven Joachim <svenjoac at gmx.de>
https://invent.kde.org/neon/backports-jammy/wayland/commit/15625a5cc70f58aa466f3db5171a5fa1851aad71

Git commit 8bcfa5ad7061231495a65d39c4c9503a64fb2746 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 03/12/2012 at 15:11..
tests: rename temporary files

This is libwayland, not weston, so call the temporary files
wayland-tests-*, not weston-tests-*.

This is a candidate for the stable branch.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/8bcfa5ad7061231495a65d39c4c9503a64fb2746

Git commit 5af4f5df247902c482a753bebf527a98aa19ca72 by Sven Joachim on 03/12/2012 at 17:05..
Revert "Switch to source format 3.0 (quilt) due to the xz tarball."

This reverts commit 81958b8cc9aa6ba96bc9d44af039fd895f03b9ba.

The X Strike Force does not like format 3.0 (quilt) since it prevents
easy cherry-picks from upstream branches.  Upstream tarballs will have
to be repacked, though.
https://invent.kde.org/neon/backports-jammy/wayland/commit/5af4f5df247902c482a753bebf527a98aa19ca72

Git commit ce89adc43833a850a3e5794cd630d2a7091074f9 by Sven Joachim on 03/12/2012 at 17:22..
tests: Don't leave temporary files behind

Signed-off-by: Sven Joachim <svenjoac at gmx.de>
(cherry picked from commit 7415e8eb053d7f2e7254466ab0acbdab0faf4742)
https://invent.kde.org/neon/backports-jammy/wayland/commit/ce89adc43833a850a3e5794cd630d2a7091074f9

Git commit f368a65dac42222197622c778776b12aac87e6f2 by Sven Joachim on 03/12/2012 at 17:25..
Document the cherry-pick
https://invent.kde.org/neon/backports-jammy/wayland/commit/f368a65dac42222197622c778776b12aac87e6f2

Git commit 3a377bf63c6fc48d2ca67d40d6a585036bb898d0 by Sven Joachim on 03/12/2012 at 17:30..
Remove two files not in the 1.0.2 tarball
https://invent.kde.org/neon/backports-jammy/wayland/commit/3a377bf63c6fc48d2ca67d40d6a585036bb898d0

Git commit fbeac51c15d489017790316831327945b91d22d1 by Sven Joachim on 03/12/2012 at 17:44..
Drop useless rm call from debian/rules

The upstream installation process only installs manpages as
documentation and does not put any files under /usr/share/doc.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fbeac51c15d489017790316831327945b91d22d1

Git commit 812bd4dd0fb20161aaf07029fbd6146d530b9932 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 12/12/2012 at 16:04..
client: remove two unused function pointer typedefs

The need for wl_display_update_func_t was removed in

commit 53d24713a31d59d9534c1c1a84a7ad46f44ee95f
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Thu Oct 4 16:54:22 2012 -0400

    Change filedescriptor API to be thread safe

and wl_callback_func_t does not seem to have ever been used in the first place.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/812bd4dd0fb20161aaf07029fbd6146d530b9932

Git commit 8148896d19d0e5bb195c76825a4b140d5b16e501 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 12/12/2012 at 16:09..
client: remove two unused function pointer typedefs

The need for wl_display_update_func_t was removed in

commit 53d24713a31d59d9534c1c1a84a7ad46f44ee95f
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Thu Oct 4 16:54:22 2012 -0400

    Change filedescriptor API to be thread safe

and wl_callback_func_t does not seem to have ever been used in the first place.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/8148896d19d0e5bb195c76825a4b140d5b16e501

Git commit ce1f41251a07600ed8c6b2e3dc1e868008aeb33a by Kristian Høgsberg on 14/12/2012 at 21:38..
configure.ac: Bump version to 1.0.3
https://invent.kde.org/neon/backports-jammy/wayland/commit/ce1f41251a07600ed8c6b2e3dc1e868008aeb33a

Git commit 25b501463051221cac4d566cb97e4dfed74265da by Sven Joachim on 15/12/2012 at 16:17..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/25b501463051221cac4d566cb97e4dfed74265da

Git commit 08fa76f3b244e7d233a7c7a92a1c337c8ffd652e by Sven Joachim on 15/12/2012 at 16:18..
New upstream release
https://invent.kde.org/neon/backports-jammy/wayland/commit/08fa76f3b244e7d233a7c7a92a1c337c8ffd652e

Git commit de09d609d69c98541f7f494dd8691bf560a61ce4 by Sven Joachim on 15/12/2012 at 16:19..
Revert "Document the cherry-pick"

This reverts commit f368a65dac42222197622c778776b12aac87e6f2.

The fix has been included in the 1.0.3 release as commit
15625a5cc70f58aa466f3db5171a5fa1851aad71.
https://invent.kde.org/neon/backports-jammy/wayland/commit/de09d609d69c98541f7f494dd8691bf560a61ce4

Git commit c762403489347a0713ca36a4b7bbd2b95c811aa8 by Sven Joachim on 15/12/2012 at 17:10..
Add docbook-xsl to Build-Depends

Necessary to generate the manpages, prior to commit
7fd3ca049b2339363d31abcb7fe0e8305972317b this had been hidden if the
build machine had Internet access.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c762403489347a0713ca36a4b7bbd2b95c811aa8

Git commit 0d2c233e15137abf9c9ec55b8b9b120318af1375 by Kristian Høgsberg (on behalf of Quentin Glidic) on 11/01/2013 at 20:12..
test/event-loop: Check readable state on a pipe

When redirecting stdout to a non-readable file makes the test fail as a
false negative
https://invent.kde.org/neon/backports-jammy/wayland/commit/0d2c233e15137abf9c9ec55b8b9b120318af1375

Git commit 31511d0ea08e9419bf6a3169ea196a551b4a94be by Kristian Høgsberg (on behalf of Jason Ekstrand) on 11/01/2013 at 20:52..
Added a destroy signal to the wl_display object.

Added a destroy signal to the wl_display object.
https://invent.kde.org/neon/backports-jammy/wayland/commit/31511d0ea08e9419bf6a3169ea196a551b4a94be

Git commit 30ccd3366eda63154a7b39569d85378c82dbef20 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 11/01/2013 at 20:53..
Added a destroy signal to the wl_display object.

Added a destroy signal to the wl_display object.
https://invent.kde.org/neon/backports-jammy/wayland/commit/30ccd3366eda63154a7b39569d85378c82dbef20

Git commit 945771c3d52dff751b48fde3c5c053013dc50747 by Kristian Høgsberg (on behalf of Quentin Glidic) on 11/01/2013 at 20:53..
test/event-loop: Check readable state on a pipe

When redirecting stdout to a non-readable file makes the test fail as a
false negative
https://invent.kde.org/neon/backports-jammy/wayland/commit/945771c3d52dff751b48fde3c5c053013dc50747

Git commit 2423497b999c999528a7d2380a13fcb3e3412d0a by Kristian Høgsberg (on behalf of Jason Ekstrand) on 15/01/2013 at 19:05..
Add a destroy signal to the wl_event_loop object
https://invent.kde.org/neon/backports-jammy/wayland/commit/2423497b999c999528a7d2380a13fcb3e3412d0a

Git commit 8cddb70d21a8b93b479fdbe63529e7a9837dfe73 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 15/01/2013 at 19:28..
Add a destroy signal to the wl_event_loop object
https://invent.kde.org/neon/backports-jammy/wayland/commit/8cddb70d21a8b93b479fdbe63529e7a9837dfe73

Git commit 142aa4a1197f6d4c8a7963dcc762e3d881d249fc by Kristian Høgsberg (on behalf of David Herrmann) on 24/01/2013 at 21:14..
event-loop: fix returning the destroy-signal listener

We need to actually return the destroy-listener, otherwise the return
value is undefined.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/142aa4a1197f6d4c8a7963dcc762e3d881d249fc

Git commit 66d55ab3c3332190fa7991af4447ef10e80c12bd by Kristian Høgsberg (on behalf of David Herrmann) on 24/01/2013 at 21:14..
gitignore: add test-suite files

The *.log and *.trs files should be ignored by git as well as the GNU
autotools ./test-driver helper script.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/66d55ab3c3332190fa7991af4447ef10e80c12bd

Git commit 8a17f121cde0882a1de709ef3f54202bd8de6455 by Kristian Høgsberg (on behalf of David Herrmann) on 25/01/2013 at 01:22..
event-loop: fix returning the destroy-signal listener

We need to actually return the destroy-listener, otherwise the return
value is undefined.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/8a17f121cde0882a1de709ef3f54202bd8de6455

Git commit 0929033a85a4ef37601d399293b47f2b907dcb0d by Kristian Høgsberg (on behalf of David Herrmann) on 25/01/2013 at 01:22..
gitignore: add test-suite files

The *.log and *.trs files should be ignored by git as well as the GNU
autotools ./test-driver helper script.

Signed-off-by: David Herrmann <dh.herrmann at googlemail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0929033a85a4ef37601d399293b47f2b907dcb0d

Git commit 9ebb18418a1c3dccc19d3931766240b54227f131 by Kristian Høgsberg on 25/01/2013 at 01:33..
configure.ac: Bump version to 1.0.4
https://invent.kde.org/neon/backports-jammy/wayland/commit/9ebb18418a1c3dccc19d3931766240b54227f131

Git commit 95ec5c59614c65174348631ba430f5d5d7ec531d by Sven Joachim on 26/01/2013 at 17:54..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/95ec5c59614c65174348631ba430f5d5d7ec531d

Git commit ff7db2d5d59cc2eb2726cc1bf39ca750dd498c46 by Sven Joachim on 26/01/2013 at 17:55..
New upstream release
https://invent.kde.org/neon/backports-jammy/wayland/commit/ff7db2d5d59cc2eb2726cc1bf39ca750dd498c46

Git commit fdc8e40f48437fa8952bf1e9a05dca53d468c02c by Sven Joachim on 26/01/2013 at 18:45..
Update libwayland0.symbols and bump shlibs for new symbols
https://invent.kde.org/neon/backports-jammy/wayland/commit/fdc8e40f48437fa8952bf1e9a05dca53d468c02c

Git commit dd7ef2e17d1ea24c9c59a6e4f4fd523cce41d75b by Kristian Høgsberg on 28/01/2013 at 20:27..
Match libtool version info in 1.0 branch

Master should always as old or older than the stable branch.  I didn't
copy over the libtool version bump when we bumped it in the 1.0 branch.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dd7ef2e17d1ea24c9c59a6e4f4fd523cce41d75b

Git commit 4912b2dd2bbe7051fb529aee45881f7fe9f59886 by Timo Aaltonen on 01/02/2013 at 17:05..
bump policy to 3.9.4, no changes
https://invent.kde.org/neon/backports-jammy/wayland/commit/4912b2dd2bbe7051fb529aee45881f7fe9f59886

Git commit 9d2db599e7c7359cc2b79b073d92d910aa02fb74 by Kristian Høgsberg on 02/02/2013 at 15:44..
configure.ac: Lower git master version to 1.0.90

The idea was to use 1.1.0 for the git master version, so that git master
would always be newer than any release or 1.1.x version.  This means
we have to skip 1.1 as a release, which turns out to be confusing.

We can just use version 1.0.90 instead, which lets us call the next
release 1.1.0.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9d2db599e7c7359cc2b79b073d92d910aa02fb74

Git commit f02f82ef7802c4961c784121c4475e8958c8e41f by Kristian Høgsberg on 04/02/2013 at 12:07..
connection.c: Align pointer extra storage correctly

Most extra data are just pointers, but in case of fds we store an int in
the extra space.  That can cause un-aligned access to pointers on 64 bit
architectures.  Make sure we always align pointer storage correctly.
https://invent.kde.org/neon/backports-jammy/wayland/commit/f02f82ef7802c4961c784121c4475e8958c8e41f

Git commit adcb2d73b3377c749efcae5ae0e5471e10b6646f by Kristian Høgsberg on 08/02/2013 at 16:38..
queue-test: WEXITSTATUS() is undefined if WIFEXITED() is false

If a child process dies from a signal, WIFEXITED() returns false and
WEXITSTATUS() isn't well-defined.  In this case, if the client segfaults,
the status is 134 and WEXITSTATUS(134) is EXIT_SUCCESS, so we mask the error.
https://invent.kde.org/neon/backports-jammy/wayland/commit/adcb2d73b3377c749efcae5ae0e5471e10b6646f

Git commit 13d5271b470ba426b4f28e745d704f8675a0ae42 by Kristian Høgsberg on 11/02/2013 at 18:58..
tests: Add a help message for the test runner

In case we forget the name of the test case or typo it, the test runner
will now list the test cases in the test binary.
https://invent.kde.org/neon/backports-jammy/wayland/commit/13d5271b470ba426b4f28e745d704f8675a0ae42

Git commit d4bfbdb9b5005f2a3d97124f2a3095b725a46cd5 by Kristian Høgsberg (on behalf of Siddharth Heroor) on 14/02/2013 at 17:14..
README: Fix typos

Signed-off-by: Siddharth Heroor <heroor at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/d4bfbdb9b5005f2a3d97124f2a3095b725a46cd5

Git commit a98cfc029bd4ce9ce0b60c73ee192ec75273a8d5 by Kristian Høgsberg on 14/02/2013 at 19:23..
connection.c: Align pointer extra storage correctly

Most extra data are just pointers, but in case of fds we store an int in
the extra space.  That can cause un-aligned access to pointers on 64 bit
architectures.  Make sure we always align pointer storage correctly.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a98cfc029bd4ce9ce0b60c73ee192ec75273a8d5

Git commit a02fdef0d9a34d13927cff5707024366805a78c1 by Kristian Høgsberg on 14/02/2013 at 19:24..
queue-test: WEXITSTATUS() is undefined if WIFEXITED() is false

If a child process dies from a signal, WIFEXITED() returns false and
WEXITSTATUS() isn't well-defined.  In this case, if the client segfaults,
the status is 134 and WEXITSTATUS(134) is EXIT_SUCCESS, so we mask the error.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a02fdef0d9a34d13927cff5707024366805a78c1

Git commit acf1efe1f4c03aead1bd74ca1d8a8c39363fd255 by Kristian Høgsberg on 14/02/2013 at 19:24..
tests: Add a help message for the test runner

In case we forget the name of the test case or typo it, the test runner
will now list the test cases in the test binary.
https://invent.kde.org/neon/backports-jammy/wayland/commit/acf1efe1f4c03aead1bd74ca1d8a8c39363fd255

Git commit 9c7fb931c9b1f637bb38afb705408ffbdc8ecfa8 by Kristian Høgsberg (on behalf of Armin K) on 14/02/2013 at 19:44..
Make sure that man page xml files are always disted
https://invent.kde.org/neon/backports-jammy/wayland/commit/9c7fb931c9b1f637bb38afb705408ffbdc8ecfa8

Git commit 1c156209ce571268947b0c9be914beefddbeebda by Kristian Høgsberg (on behalf of Siddharth Heroor) on 14/02/2013 at 19:47..
README: Fix typos

Signed-off-by: Siddharth Heroor <heroor at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/1c156209ce571268947b0c9be914beefddbeebda

Git commit 0fb588ed15d255ac1a453269b56f427264084307 by Kristian Høgsberg (on behalf of Armin K) on 14/02/2013 at 19:47..
Make sure that man page xml files are always disted
https://invent.kde.org/neon/backports-jammy/wayland/commit/0fb588ed15d255ac1a453269b56f427264084307

Git commit cf17fdf8b8cf7bb30eed31c9fedaee2a1b704501 by Kristian Høgsberg on 14/02/2013 at 21:55..
configure.ac: Bump version to 1.0.5

Also update the bug URL to point to the right component and version.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cf17fdf8b8cf7bb30eed31c9fedaee2a1b704501

Git commit df1a934b8b24c9227d427f3035007867993a6612 by Kristian Høgsberg on 14/02/2013 at 22:00..
configure.ac: Update bug URL
https://invent.kde.org/neon/backports-jammy/wayland/commit/df1a934b8b24c9227d427f3035007867993a6612

Git commit f53f42a1e7da88605524851ac826c6643e15fd78 by Kristian Høgsberg (on behalf of Ran Benita) on 25/02/2013 at 18:12..
scanner: remove list_length in favor of wl_list_length
https://invent.kde.org/neon/backports-jammy/wayland/commit/f53f42a1e7da88605524851ac826c6643e15fd78

Git commit b581d13a7e799edf54a287a8f429c992d774993e by Kristian Høgsberg on 25/02/2013 at 21:01..
scanner: Fix 'destroy)' typo in check for destroy request presence

This is there to enforce that we don't have interfaces with a destroy
request that isn't a destructor.  The check never worked because of the
typo, but we also don't have any interfaces like that.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b581d13a7e799edf54a287a8f429c992d774993e

Git commit a51ed6d50f220488108a4c48fec4858f9fd91cdc by Kristian Høgsberg (on behalf of Pekka Paalanen) on 26/02/2013 at 16:28..
client: add wl_proxy_get_class()

This is a useful shorthand for client application debugging macros,
since you can ask the object class from the object itself.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/a51ed6d50f220488108a4c48fec4858f9fd91cdc

Git commit 2fc248dc2c877d02694db40aad52180d71373d5a by Kristian Høgsberg (on behalf of Jason Ekstrand) on 26/02/2013 at 16:31..
Clean up and refactor wl_closure and associated functions

The primary purpose of this patch is to clean up wl_closure and separate
closure storage, libffi, and the wire format.  To that end, a number of changes
have been made:

 - The maximum number of closure arguments has been changed from a magic number
   to a #define WL_CLOSURE_MAX_ARGS

 - A wl_argument union has been added for storing a generalized closure
   argument and wl_closure has been converted to use wl_argument instead of the
   combination of libffi, the wire format, and a dummy extra buffer.  As of
   now, the "extra" field in wl_closure should be treated as bulk storage and
   never direclty referenced outside of wl_connection_demarshal.

 - Everything having to do with libffi has been moved into wl_closure_invoke
   and the convert_arguments_to_ffi helper function.

 - Everything having to do with the wire format has been restricted to
   wl_connection_demarshal and the new static serialize_closure function.  The
   wl_closure_send and wl_closure_queue functions are now light wrappers around
   serialize_closure.

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

Git commit 8f1386fb504c298f703501dc409ddbd14e1ae036 by Kristian Høgsberg on 26/02/2013 at 18:40..
Stylistic nitpicking

No space between '!' and its argument, 	prefer i++ over ++i.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8f1386fb504c298f703501dc409ddbd14e1ae036

Git commit 290b29f5d5caef457f454d23b74e90bd7d3d5927 by Timo Aaltonen on 07/03/2013 at 08:44..
Merge branch 'upstream-experimental' into debian-experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/290b29f5d5caef457f454d23b74e90bd7d3d5927

Git commit 45a278154c09cee7063d51d7d22aba923b116efe by Timo Aaltonen on 07/03/2013 at 08:44..
update the version
https://invent.kde.org/neon/backports-jammy/wayland/commit/45a278154c09cee7063d51d7d22aba923b116efe

Git commit 9a2fab49e5e5867d58ba67eb028c003db35de1bb by Kristian Høgsberg on 17/03/2013 at 17:53..
configure.ac: Use wayland_version macro in bug url
https://invent.kde.org/neon/backports-jammy/wayland/commit/9a2fab49e5e5867d58ba67eb028c003db35de1bb

Git commit e053a5625129bd11c301c9587f5f29cbda95c66d by Kristian Høgsberg (on behalf of Jonas Ådahl) on 17/03/2013 at 20:24..
client: Check reference count only for destroyed proxies

The llvm static analyzer tool reported "Use of memory after it is freed"
in dispatch_event() because the proxy is used after being freed if the
reference count reaches zero without the destroyed flag being set. This
would never happen in practice because the owner of the proxy object
always holds a reference until calling wl_proxy_destroy() which would
also set the destroyed flag.

Since this is the case, it is safe to do the reference count check only
if the destroyed flag is set, as it can never reach zero if not.

This commit doesn't change the behavior of the function, but makes the
static analyzer more happy.

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

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

Git commit cb73bffed53128ed4f7a943e37c718b724199461 by Kristian Høgsberg (on behalf of Jonas Ådahl) on 17/03/2013 at 20:39..
client: Invoke new_id closure arguments as pointers instead of integers

This commit adds a flags parameter to wl_closure_invoke(). The so far
added flags are ment to specify if the invokation is client side or
server side. When on the server side, closure arguments of type 'new_id'
should be invoked as a integer id while on the client side they should
be invoked as a pointer to a proxy object.

This fixes a bug happening when the address of a client side 'new_id'
proxy object did not fit in a 32 bit integer.

krh: Squashed test suite compile fix from Jason Ekstrand.

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

Git commit ca5b1946cb0f186d604858bec75bba0435f9adc9 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 19/03/2013 at 03:04..
Change wl_closure_invoke to take an opcode instead of an actual function pointer

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

Git commit bedc3432ff731b0ad680831ecc66a7a5829621a6 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 19/03/2013 at 03:04..
Add wl_resource_init and use it in libwayland implementations of data sharing and SHM

This commit adds a wl_resource_init function for initializing wl_resource
structures similar to wl_client_add_object.

From this commit forward, wl_resource structures should not be initialized
manually, but should use wl_resource_init.  In the event of a change to the
wl_resource structure, this allows us to protect against regressions by filling
in added fields with reasonable defaults.  In this way, while changing
wl_object or wl_resource still constitutes an ABI break, compositors following
this rule will only need to be recompiled in order to properly link against the
new version.

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

Git commit 7165bf21917ed1c4f5ec823a1e1642a9e83aa984 by Kristian Høgsberg (on behalf of Pekka Paalanen) on 19/03/2013 at 20:49..
protocol: remove implicit attach semantics

To match the Weston commit e7144fd175d1d68b91aa0cec7ab63381b79385a9:
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Mon Mar 4 12:11:41 2013 -0500

    compositor: Only send release event in response to wl_surface.attach

Remove the implicit attach semantics from wl_surface.commit and .attach.

Before, if you did this on a wl_surface: attach, commit, commit, you
would receive wl_buffer.release for both commits. After this change, you
will only receive wl_buffer.release for the first commit. To get a
second release, the same buffer must be attached again.

There is no need for the implicit attach on the second commit. If the
compositor needs the wl_buffer for repainting, it will not release it to
begin with. If the compositor does not need to keep the wl_buffer around
for repainting, it will not need it for a new commit either.

Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/7165bf21917ed1c4f5ec823a1e1642a9e83aa984

Git commit dc206a96dc8feb4528aea9a9974b267be6ac0b0f by Kristian Høgsberg (on behalf of Matthias Clasen) on 28/03/2013 at 18:01..
docs: Add a revision history

Publican complains if it can't find this file.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dc206a96dc8feb4528aea9a9974b267be6ac0b0f

Git commit 728b64189b76d5953af89644e1259d4299555807 by Kristian Høgsberg (on behalf of Matthias Clasen) on 28/03/2013 at 18:01..
docs: Fix the documentation build

The publican man page says that the options are actually called
--formats and --langs, and with this, the doc build succeeds.
https://invent.kde.org/neon/backports-jammy/wayland/commit/728b64189b76d5953af89644e1259d4299555807

Git commit 8680c67c478d13de757268120494a89b120cf881 by Kristian Høgsberg (on behalf of Rob Bradford) on 01/04/2013 at 21:16..
wayland-server: Avoid deferencing a NULL pointer in error case

Reorder the error handling in the case that closure is NULL due to ENOMEM to
ensure that we can safely call wl_closure_lookup_objects on the second test.
Prior to this reordering the closure would be deferenced in the ENOMEM case
due to the invocation of the second half of the logical OR check.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8680c67c478d13de757268120494a89b120cf881

Git commit 49e2d5af763769e43d04bf0f76c70e1510e0f666 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Reorder some sections

Move the 'Types of Compositors' section right after the Overview,
and move the 'Client API' part after the protocol spec.
https://invent.kde.org/neon/backports-jammy/wayland/commit/49e2d5af763769e43d04bf0f76c70e1510e0f666

Git commit c255bab1ed5f2692d75dcc089d05d0259d3da8f7 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Slight rewording

The Wayland Protocol -> Wayland Protocol Overview, to align
better with the subsequent Wayland Protocol Specification.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c255bab1ed5f2692d75dcc089d05d0259d3da8f7

Git commit 41d44af8c803207d20e94ec043bc1360ae44dd5c by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve the 'Types of Compositors' section

Turn the bullet-point lists into full paragraphs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/41d44af8c803207d20e94ec043bc1360ae44dd5c

Git commit 469c386338e4cab572a1a1e28ce0aeab12d1bfb6 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve the 'Connect time' section

Turn the bullet-point list into complete sentences.
https://invent.kde.org/neon/backports-jammy/wayland/commit/469c386338e4cab572a1a1e28ce0aeab12d1bfb6

Git commit 390e7a7a42adce1ae93f83921c5d74b46ac4064d by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
doc: Improve various sections of the documentation
https://invent.kde.org/neon/backports-jammy/wayland/commit/390e7a7a42adce1ae93f83921c5d74b46ac4064d

Git commit 8d0b57731008b3e7688777da9489238500b8b1b0 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Consistency fixes

Say 'object ID' throughout.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8d0b57731008b3e7688777da9489238500b8b1b0

Git commit a5cc5b32bb2400eefe7b497a0613a2cc23921852 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve wl_display protocol docs

This adds a bit of information about in-order event delivery,
removes extraneous formatting, and adds a missing period.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a5cc5b32bb2400eefe7b497a0613a2cc23921852

Git commit 8aa7a690a5a823553c3f0d32e4755fec1326023d by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve the wl_registry protocol docs

Reword a few things, and add some details.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8aa7a690a5a823553c3f0d32e4755fec1326023d

Git commit c84155d475db0428398d1db623f8347f5b40db68 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve wl_callback protocol docs

Add some information about wl_callback and its done event.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c84155d475db0428398d1db623f8347f5b40db68

Git commit b02e58c7181873339873a5cf168d06852ab0d925 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve wl_shm and wl_shm_pool protocol docs

Reword some paragraphs, and spell out 'file descriptor'.
https://invent.kde.org/neon/backports-jammy/wayland/commit/b02e58c7181873339873a5cf168d06852ab0d925

Git commit 15ec6219e9bb407e941cc0cc962348637d28b5b6 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve the wl_data_* procol docs

Add a few missing summaries and descriptions, spell out file
descriptor, use hyphens in drag-and-drop, don't use hyphens in
'mime type', and reword a few things.
https://invent.kde.org/neon/backports-jammy/wayland/commit/15ec6219e9bb407e941cc0cc962348637d28b5b6

Git commit e38f433313e7c13960fb06f2b761f324010b8d64 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve wl_shell/wl_shell_surface docs

Add missing summaries, expand descriptions.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e38f433313e7c13960fb06f2b761f324010b8d64

Git commit c63a59b802f0393dab8e77d028616da1aab2c287 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:40..
docs: Improve wl_surface protocol docs

Use NULL consistently. And add some more information in a few
places.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c63a59b802f0393dab8e77d028616da1aab2c287

Git commit 53b57a63eeee069d509827dd4fc5b75e28385120 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 21:43..
docs: Improve the wl_seat protocol docs

Expand the main description and tell if requests don't have
an effect.
https://invent.kde.org/neon/backports-jammy/wayland/commit/53b57a63eeee069d509827dd4fc5b75e28385120

Git commit 3f4008acb3debbf08e45d98e52739c3bcd134d4d by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 23:56..
docs: Improve wl_pointer protocol docs

Some descriptions were missing here.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f4008acb3debbf08e45d98e52739c3bcd134d4d

Git commit 608d81bfd59df9b1467fbea96ce532dce8559df1 by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 23:57..
docs: Improve wl_keyboard protocol docs

Some descriptions were missing here.
https://invent.kde.org/neon/backports-jammy/wayland/commit/608d81bfd59df9b1467fbea96ce532dce8559df1

Git commit 27eacf423afcefa6c85a383f305db1e0d350805f by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 23:58..
docs: Improve wl_touch protocol docs

Some descriptions were missing here.
https://invent.kde.org/neon/backports-jammy/wayland/commit/27eacf423afcefa6c85a383f305db1e0d350805f

Git commit 4c94024af5334fb57ba2b913d387a7ffe5ba954c by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 23:59..
docs: Improve the wl_output protocol docs

Some descriptions were missing.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4c94024af5334fb57ba2b913d387a7ffe5ba954c

Git commit ab6d96c8c46eba5dccc9f91f61ae5949b5e9939e by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 23:59..
docs: Improve wl_region protocol docs

Just cosmetic changes, a few missing periods, and ID was
not capitalized.
https://invent.kde.org/neon/backports-jammy/wayland/commit/ab6d96c8c46eba5dccc9f91f61ae5949b5e9939e

Git commit a4d2b00ae2dc71f864604e1581f4cd599744581a by Kristian Høgsberg (on behalf of Matthias Clasen) on 01/04/2013 at 23:59..
docs: Add details about surfaces

Mention some of the characteristic differences to X:
no global positions, no access to foreign windows.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a4d2b00ae2dc71f864604e1581f4cd599744581a

Git commit 29ddfdd0dfc6028082a944cc17f41cfc9537aa9b by Kristian Høgsberg (on behalf of Matthias Clasen) on 02/04/2013 at 00:01..
docs: Add details about grabs

Mention implicit grabs, (lack of) explicit grabs, and popup
windows.
https://invent.kde.org/neon/backports-jammy/wayland/commit/29ddfdd0dfc6028082a944cc17f41cfc9537aa9b

Git commit c7639228b4850ca7d91d2f39815059c3edb83d08 by Kristian Høgsberg on 02/04/2013 at 00:06..
docs: Remove mention of touch focus

There is no focused surface for a touch screen.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c7639228b4850ca7d91d2f39815059c3edb83d08

Git commit c110fbcb75846aa4c8ae591e6b811f6e05382623 by Kristian Høgsberg (on behalf of Matthias Clasen) on 02/04/2013 at 01:43..
docs: Document granularity of timestamps

This information is necessary to make any use of these fields.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c110fbcb75846aa4c8ae591e6b811f6e05382623

Git commit 3bda215130c245d222471e6430472d02023d0d6f by Kristian Høgsberg (on behalf of Matthias Clasen) on 02/04/2013 at 01:43..
docs: Add information about serials and timestamps

Add some information about serials, timestamps and their uses
to the Input section in the protocol overview.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3bda215130c245d222471e6430472d02023d0d6f

Git commit 6ca428edc8344c800be3369da3ac8d91fe75c175 by Kristian Høgsberg (on behalf of Giulio Camuffo) on 02/04/2013 at 21:11..
server: use the right function pointer type in wl_signal_get

use the wl_notify_func type, and not void *, or else wl_signal_get
will not be usable by a c++ plugin because it will not cast
void * to a function pointer.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6ca428edc8344c800be3369da3ac8d91fe75c175

Git commit 88d873ecb971a3f2d0f7420edf9711346f0344a3 by Kristian Høgsberg (on behalf of Giulio Camuffo) on 03/04/2013 at 01:07..
server: use void* instead of function pointer for wl_object.implementation

This is needed to make C++ programs that include wayland-server.h build:
C++ does not allow conversions from data pointers to function pointers.
https://invent.kde.org/neon/backports-jammy/wayland/commit/88d873ecb971a3f2d0f7420edf9711346f0344a3

Git commit 858fcbde59cfd2b42644c43bf481ffd70b30d5be by Kristian Høgsberg on 03/04/2013 at 01:31..
docs: Document non-blocking behaviour of wl_display_flush()
https://invent.kde.org/neon/backports-jammy/wayland/commit/858fcbde59cfd2b42644c43bf481ffd70b30d5be

Git commit db19b443cc8d3179df31cb96b9c45527ad403fef by Kristian Høgsberg (on behalf of Rob Bradford) on 03/04/2013 at 16:46..
wayland-server: Listen for pointer current surface destruction

Add a destroy listener so that when the current surface associated with the
pointer is destroyed we can reset the pointer to the current surface. In order
to achieve this add a wl_pointer_set_current() which handles assigning the
surface and creating the listener.

This resolves a use-after-free error triggered with nested popup surfaces

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=696946
https://invent.kde.org/neon/backports-jammy/wayland/commit/db19b443cc8d3179df31cb96b9c45527ad403fef

Git commit 4e9892478ba2a57ebf1dc57f8e9aec963015b3f1 by Kristian Høgsberg (on behalf of Giulio Camuffo) on 03/04/2013 at 16:46..
utils: const-ify some function arguments
https://invent.kde.org/neon/backports-jammy/wayland/commit/4e9892478ba2a57ebf1dc57f8e9aec963015b3f1

Git commit bd63d331b9837b9afeab8432bc145b6829fcd92c by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 18:44..
doc: don't add a para for an empty summary

Removes enough empty lines to cut the PDF down by 4 pages.

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

Git commit 95bce664f984aee553a2e39f699919ad2e8a2a3c by Kristian Høgsberg (on behalf of Tiago Vignatti) on 03/04/2013 at 18:44..
doc: Add a Foreword and a Preface

In particular, the preface defines the scope of this document we're building
-- is the definition there enough with respect to what we want with this?

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-jammy/wayland/commit/95bce664f984aee553a2e39f699919ad2e8a2a3c

Git commit 23ee67d4856751e528269a7c604e6e3a46f3cfd2 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 03/04/2013 at 18:45..
doc: Set book edition number to the "1"

"1" sounds better when we mention about the "first" edition or say the
"publishing" edition.

If needed, we might want to increase the edition numbers automatically later,
for instance based on the micro version of the protocol or something like
that.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-jammy/wayland/commit/23ee67d4856751e528269a7c604e6e3a46f3cfd2

Git commit eb6618e5930c761d255ed760666184927754023b by Kristian Høgsberg (on behalf of Tiago Vignatti) on 03/04/2013 at 18:45..
doc: Improve the first chapter text and definitions

In the beginning of the chapter, it was defined what is the so called "X"
thing and was removed the "Wayland" and "Weston" definitions cause we're
defining later at 1.2 anyway.

"Introduction", "Motivation" and "Compositing manager as the display server"
names sound better a bit than "Overview", "Replacing X11" and "Make the
compositing manager the display server" respectively. That was changed also.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-jammy/wayland/commit/eb6618e5930c761d255ed760666184927754023b

Git commit cc57f3ebdc750ace29761494f5abe090f1c31359 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 03/04/2013 at 18:48..
doc: Rename Overview.xml to Introduction.xml

Rename Overview.xml to Introduction.xml, reflecting the previous commit.
Organize also Wayland.xml order of the includes.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-jammy/wayland/commit/cc57f3ebdc750ace29761494f5abe090f1c31359

Git commit 0a45cdf798aa2e7970476a2699dea5e16711bc56 by Kristian Høgsberg (on behalf of Tiago Vignatti) on 03/04/2013 at 18:50..
doc: Change chapter title to a more descriptive one

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
https://invent.kde.org/neon/backports-jammy/wayland/commit/0a45cdf798aa2e7970476a2699dea5e16711bc56

Git commit 982128c1b58b59ec152c15ad220d13fc1d46c60c by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 18:51..
doc: minor title wording fix

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

Git commit dcb402a2c2506105f5ded586d016f9f97b10dc2e by Kristian Høgsberg (on behalf of Tiago Vignatti) on 03/04/2013 at 18:57..
doc: Format Chapter 4 paragraphs correctly

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/dcb402a2c2506105f5ded586d016f9f97b10dc2e

Git commit ee569711ee8aa67db6896c945bdf9482d870a0c4 by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 18:57..
doc: clarify how ClientAPI.xml is built

I found the comment a bit confusing and it's quite hard to read. re-explain
with a simple step-by-step list

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

Git commit 3cf8e67731ab3a4ba84345c89f67b1a99b196735 by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 18:57..
doc: explain the publican build process

This makefile is a bit hard to read due to some publican requirements and
the need to generate some files through XSLT. Explain the lot, so that those
looking at this roughly know what will hit them.

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

Git commit 8329c2680e820b92406940cc38ab54868c67438d by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
Rename en_US to sources

The reason this directory exists is because we need to copy it into
$builddir so we can combine it with generated sources (we can't pass
multiple source paths into publican).

So instead of having en_US, renamed to en-US stop the confusion and rename
the sources to "sources". That gets copied to en-US which will then contain
the actual output.

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

Git commit ed2f8d389f74d13228c171163222bdff0fd579df by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
doc: add wayland.doxygen as target dependency

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

Git commit 378caae828afeb4075a1e98db1d1eaca489a58d5 by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
doc: change wording in section introduction

If we don't have descriptions of classes, the "And" is awkward.

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

Git commit b17e5e1615a17f6cb3f5112a822d6f3f07738095 by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
doc: improve formatting of client-side documentation

A bunch of changes to the xsl transformation stylesheet to make Chapter 4
(Client API) look nicer and more readable.

Main changes:
- function synopsis listed
- lists for parameters and return values
- long function descriptions
- misc other hooks for "see also", "note", etc

The long description is a sore point. doxygen xml output is difficult to
parse with the output being in the form of
<detailed description>
  <para>
  	<parameterlist> .... </parameterlist>
	<simplesect kind="return">... </simplesect>
	First paragraph of long description
  </para>
  <para>
  	Second paragraph of long <sometag>description</sometag>
  </para>
</detaileddescription>

So we need to ignore parameterlist and simplesect, but extract the text from
everything else. Any improvements on that welcome.

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

Git commit dfeef480ac24898fcff6cf0063f8fe24e2e8a02b by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
doc: don't start a variable list if we have no sub-elements

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

Git commit 4a599e029db9fc7b6a75bd05ba9a39158b2066e3 by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
protocol: use "summary", not "description" for xkb_v1 format

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

Git commit 9c0357af6ee42c318ce37b458ae7bdb7d51316cb by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
protocol: document wl_pointer, wl_keyboard, wl_touch

Most of this should be clear, but let's spell a few things out.

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

Git commit e5202f76b001d7db21d313bda197e88b11cbe7d0 by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
protocol: fix two protocol description 'typos'

Remove "mice, for example", it's described in the wl_pointer interface in
detail. And remove space before the full stop.

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

Git commit 8ccab1ba621c299b8cedbc6ac1c673967febf316 by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
doc: generate man pages from doxygen

Create client-side and server-side man pages from doxygen. The doxygen
config options are virtually the same as for the XML output, but we do pass
in the specific options via stdin.

WL_EXPORT is predefined to the empty string, it makes the man page look
confusing and provides no value here anyway. This applies for both xml and
man output.

JAVADOC_AUTOBRIEF is disabled for man pages, the formatting in the resulting
man page is IMO hard to read.

Most of the server man pages are virtually empty, there's just not enough
documentation in the source files.

Interesting issue: the usage of @code in the protocol to reference the
parameter breaks the expansion of WL_EXPORT, thus leaving us with WL_EXPORT
in all the man pages.
Presumably this is an issue with doxygen interpreting this as a @code
command, but I already wasted enough time narrowing this down.

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

Git commit 9d296fc73a81931b4c02b789b3c488861dbf3fda by Kristian Høgsberg (on behalf of Peter Hutterer) on 03/04/2013 at 19:44..
doc: rename "Wayland" to "publican"

This directory was called Wayland during my early tries with publican where
the source layout was different and it needed to be set to the same name as
the publican output directory. This reason doesn't exist anymore, so re-name
it to publican to make it more obvious what's hiding in here.

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

Git commit c42b09b4cb36d9d169483b934a7f4abe91f7b0ce by Kristian Høgsberg on 03/04/2013 at 20:22..
configure.ac: Fix publican version check

This sure is ugly - we feed output of publican -v into bc to compare
against minimum required version, 2.8.  That's bad enough, but when
publican suddenly report 3.0.0, bc starts complaining...

Use sed to filter out 3.0 from the 'version=3.0.0' output from publican
instead.  Seem a little more robust, but it's just a matter of time before
something else breaks this flaky setup.

Hey, publican, how about shipping .pc files?
https://invent.kde.org/neon/backports-jammy/wayland/commit/c42b09b4cb36d9d169483b934a7f4abe91f7b0ce

Git commit 477dcd84c7b350ebdc5da1e2243cbcd2abfbdc80 by Kristian Høgsberg on 03/04/2013 at 20:26..
docs: Use MIT for documentation license
https://invent.kde.org/neon/backports-jammy/wayland/commit/477dcd84c7b350ebdc5da1e2243cbcd2abfbdc80

Git commit 9fbcc7ae7dbbca215d0a1edcede4b7cc95ced7f2 by Kristian Høgsberg (on behalf of Rob Bradford) on 04/04/2013 at 16:39..
wayland-client: Avoid null dereference when handling deletion

If an unknown id is deleted then the lookup in the map will return NULL and
so we should avoid dereferencing that.

As this is unexpected behaviour log a message about the problem too.
https://invent.kde.org/neon/backports-jammy/wayland/commit/9fbcc7ae7dbbca215d0a1edcede4b7cc95ced7f2

Git commit 4f7f09b4c873d92b6697edc6d0d15bc939ac1a0c by Kristian Høgsberg (on behalf of Peter Hutterer) on 04/04/2013 at 20:40..
protocol: input documentation fixes

Fix summary for wl_touch::motion, extend summary for wl_touch::down to match
up/motion a bit better.

Fix a typo in wl_touch, and claim that it's zero or more update events, not
one or more.

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

Git commit 5e014c81ccf74ac7d44b2435f282f35b66f8d43f by Kristian Høgsberg (on behalf of Tiago Vignatti) on 04/04/2013 at 20:57..
doc: Capitalize all Wayland occurrences

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

[re-run of search/replace after rebasing]

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

Git commit b1d7131c36a853ff688377fc077a0999cfc3a1b9 by Kristian Høgsberg (on behalf of Peter Hutterer) on 04/04/2013 at 20:57..
doc: generate server documentation from XML too

Same as WaylandClientAPI.xml we now also generate WaylandServerAPI.xml for
publication. Most of this hunk is just adding a client/ or server/ into the
xml path to keep the two separate.

The change in wayland.doxygen now causes a standard doxygen call to not
generate anything - what is generated is specified through the options
passed by make.

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

Git commit 5cf14f4b57bbe63f996610a71779bbf15c06ce9b by Kristian Høgsberg (on behalf of Peter Hutterer) on 04/04/2013 at 20:57..
doc: create a fake make target to de-duplicate the xml merging process

The only difference between the server and client xml files is the
directories and files being named *server* and *client*, respectively. Add a
new make target to get that process done to avoid duplication

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

Git commit 3ddedc053ff48fc6311be2d533aea84c2e8b756d by Kristian Høgsberg (on behalf of Peter Hutterer) on 04/04/2013 at 20:57..
doc: Improve "Library" and "Compositors" chapter

Originally written Tiago Vignatti <tiago.vignatti at intel.com>

Some modifications to adjust for previously merged conflicting patches and link
to the sections (instead of <emphasis>).

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

Git commit 509d1d802abda4cec5a22fab5848787f92f69f02 by Kristian Høgsberg (on behalf of Peter Hutterer) on 04/04/2013 at 20:58..
doc: use a dynamic list of man pages

This requires that doxygen is run before the man target so find can actually
find the man pages.

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

Git commit 1daa6b3877d26e732a3ba53a033dd5c21c192d94 by Kristian Høgsberg on 16/04/2013 at 00:50..
docs: Create html-pdf directories too

Fixes make dist here.
https://invent.kde.org/neon/backports-jammy/wayland/commit/1daa6b3877d26e732a3ba53a033dd5c21c192d94

Git commit e5938320663b70842b0f10fe0fff39db06cad540 by Kristian Høgsberg on 16/04/2013 at 00:55..
configure.ac: Bump version to 1.1.0
https://invent.kde.org/neon/backports-jammy/wayland/commit/e5938320663b70842b0f10fe0fff39db06cad540

Git commit e7d0a0b0ed4f61ce8fbddc0a49a95f04e0959be4 by Kristian Høgsberg (on behalf of Rob Bradford) on 18/04/2013 at 20:28..
protocol: Make it clear that returned "one-shot" objects are destroyed

The objects returned by the frame and sync request are destroyed by the
compositor after the "done" event on the wl_callback interface is fired.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e7d0a0b0ed4f61ce8fbddc0a49a95f04e0959be4

Git commit cfec3aecb96da982c51791ed8335d1e70089e9af by Kristian Høgsberg (on behalf of Peter Hutterer) on 18/04/2013 at 20:28..
protocol: revert hotspot_x/y in set_cursor back to int

copy/paste error introduced in 9c0357af6ee42c318ce37b458ae7bdb7d51316cb

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

Git commit 83248317e4ffd374057022ef3c1af9b72e2f66e8 by Kristian Høgsberg on 29/04/2013 at 20:42..
configure.ac: Bump to 1.1.90 to open master for 1.2 work
https://invent.kde.org/neon/backports-jammy/wayland/commit/83248317e4ffd374057022ef3c1af9b72e2f66e8

Git commit e920572e5cc120b3d03b0b2c40af67927fcb73d7 by Kristian Høgsberg on 07/05/2013 at 13:10..
Remove input structs

Looking at the functionality in the server library, it's clear (in
hindsight) that there are two different "things" in there: 1) The IPC
API, that is, everything that concerns wl_display, wl_client,
wl_resource and 2) and half-hearted attempt at sharing input code and
focus logic that leaves a lot of problematic structs in the API
surface, only to share less than 1000 lines of code.

We can just move those input structs and helper functions into weston
and cut libwayland-server down to just the core server side IPC API.
In the short term, compositors can copy those structs and functions
into their source, but longer term, they're probably better off
reimplementing those objects and logic their native framework
(QObject, GObject etc).
https://invent.kde.org/neon/backports-jammy/wayland/commit/e920572e5cc120b3d03b0b2c40af67927fcb73d7

Git commit 508dd69b5654b632cbbae9d20068cbc3b5ff7eb9 by Kristian Høgsberg on 08/05/2013 at 13:45..
server: Drop struct wl_surface

This struct was only defined in the server API for the purpose of the
input structs and helper functions.  Now that those are gone we can dro it.
https://invent.kde.org/neon/backports-jammy/wayland/commit/508dd69b5654b632cbbae9d20068cbc3b5ff7eb9

Git commit de069fe696df7998a09eec63b4f29bcf414c9eae by Emilio Pozuelo Monfort on 18/05/2013 at 17:58..
Split the shared libraries into separate packages
https://invent.kde.org/neon/backports-jammy/wayland/commit/de069fe696df7998a09eec63b4f29bcf414c9eae

Git commit 83fdc4dfaa87da873c5bc5deacc8bd70688cdda8 by Emilio Pozuelo Monfort on 18/05/2013 at 17:59..
Add Build-Depends-Package to symbol files.
https://invent.kde.org/neon/backports-jammy/wayland/commit/83fdc4dfaa87da873c5bc5deacc8bd70688cdda8

Git commit 7a856d18df1e7bbbf06822c70317b89dc0b7ff75 by Emilio Pozuelo Monfort on 20/05/2013 at 22:34..
Release to experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/7a856d18df1e7bbbf06822c70317b89dc0b7ff75

Git commit 67264df666703aef190a74fad0c833f45a071313 by Emilio Pozuelo Monfort on 21/05/2013 at 07:38..
Add missing conflict/replaces for the library split.
https://invent.kde.org/neon/backports-jammy/wayland/commit/67264df666703aef190a74fad0c833f45a071313

Git commit c8c0eaf273df86f7f4d66aa1487e6c05b41547f1 by Emilio Pozuelo Monfort on 21/05/2013 at 07:39..
Release to experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/c8c0eaf273df86f7f4d66aa1487e6c05b41547f1

Git commit 5144cf6206182f382158c504e36660aa43f6608e by Kristian Høgsberg (on behalf of Peng Wu) on 22/05/2013 at 19:49..
protocol: Fix documentation typo
https://invent.kde.org/neon/backports-jammy/wayland/commit/5144cf6206182f382158c504e36660aa43f6608e

Git commit 911c0684281c53fca9423874d93469af8b436aa3 by Kristian Høgsberg (on behalf of Alexander Larsson) on 22/05/2013 at 20:15..
protocol: Allow output changes to be treated atomically

This add a wl_output.done event which is send after every group
of events caused by some property change. This allows clients to treat
changes touching multiple events in an atomic fashion.
https://invent.kde.org/neon/backports-jammy/wayland/commit/911c0684281c53fca9423874d93469af8b436aa3

Git commit d68c7d8aed92158ae68fd9cabb8bc2a50fd5066b by Kristian Høgsberg (on behalf of Alexander Larsson) on 22/05/2013 at 20:15..
protocol: Support scaled outputs and surfaces

This adds the wl_surface.set_buffer_scale request, and a wl_output.scale
event. These together lets us support automatic upscaling of "old"
clients on very high resolution monitors, while allowing "new" clients
to take advantage of this to render at the higher resolution when the
surface is displayed on the scaled output.

It is similar to set_buffer_transform in that the buffer is stored in
a transformed pixels (in this case scaled). This means that if an output
is scaled we can directly use the pre-scaled buffer with additional data,
rather than having to scale it.

Additionally this adds a "scaled" flag to the wl_output.mode flags
so that clients know which resolutions are native and which are scaled.

Also, in places where the documentation was previously not clear as to
what coordinate system was used this was fleshed out.

It also adds a scaling_factor event to wl_output that specifies the
scaling of an output.

This is meant to be used for outputs with a very high DPI to tell the
client that this particular output has subpixel precision. Coordinates
in other parts of the protocol, like input events, relative window
positioning and output positioning are still in the compositor space
rather than the scaled space. However, input has subpixel precision
so you can still get input at full resolution.

This setup means global properties like mouse acceleration/speed,
pointer size, monitor geometry, etc can be specified in a "mostly
similar" resolution even on a multimonitor setup where some monitors
are low dpi and some are e.g. retina-class outputs.
https://invent.kde.org/neon/backports-jammy/wayland/commit/d68c7d8aed92158ae68fd9cabb8bc2a50fd5066b

Git commit e782dbecbc3b53684a78c8c5175e0571cfc3e119 by Kristian Høgsberg (on behalf of Alexander Larsson) on 28/05/2013 at 19:27..
protocol: Use signed int for scale values

We usually use signed ints for things like this, to avoid
issues C sign coersion.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e782dbecbc3b53684a78c8c5175e0571cfc3e119

Git commit b6930889044dcd92be5c7499e653c6cb19cddb19 by Kristian Høgsberg (on behalf of Alexander Larsson) on 28/05/2013 at 19:40..
protocol: Modes are specified in HW pixels

Modes are mainly meant to be used in coordination with fullscreen in
DRIVER mode, by e.g. games. For such games what they generally want
is to match some hardware mode and resize their window for that. We
don't really need to complicate this with the scaling. So, we
keep the resolutions in HW pixels, and drop the SCALED flag (as it
is now useless).

This lets you just create e.g an 800x600 buffer of scale 1 and
fullscreen that, ignoring the output scaling factor (although you can
of course also respect it and create a 400x300 surface at scale 2).
Conceptually the mode change is treated like a scaling which overrides
the normal output scale.

The only complexity is the FILL mode where it can happen that the user
specifies a buffer of the same size as the screen, but the output has scale
2 and the buffer scale 1. Just scanning out this buffer will work, but
effectively this is a downscaling operation, as the "real" size of the surface
in pels is twice the size of the output. We solve this by allowing FILL to
downscale (but still not upscale).
https://invent.kde.org/neon/backports-jammy/wayland/commit/b6930889044dcd92be5c7499e653c6cb19cddb19

Git commit 65ebcf63add136d3bd4b28356755e7e06aa3a8e0 by Emilio Pozuelo Monfort on 01/06/2013 at 21:36..
Merge branch 'upstream-experimental' into debian-experimental-new
https://invent.kde.org/neon/backports-jammy/wayland/commit/65ebcf63add136d3bd4b28356755e7e06aa3a8e0

Git commit 2da49a3bbceca2c19dfd164ab82d0ed0921e12c4 by Emilio Pozuelo Monfort on 01/06/2013 at 21:37..
Merge branch 'debian-experimental' into debian-experimental-new
https://invent.kde.org/neon/backports-jammy/wayland/commit/2da49a3bbceca2c19dfd164ab82d0ed0921e12c4

Git commit fd4cbe542d3da54cf9c73bf36ad4b4263d010ea6 by Emilio Pozuelo Monfort on 02/06/2013 at 15:30..
New upstream release.
https://invent.kde.org/neon/backports-jammy/wayland/commit/fd4cbe542d3da54cf9c73bf36ad4b4263d010ea6

Git commit 070efaa62d7032af4ebf12c08176b4bc70ca8f04 by Emilio Pozuelo Monfort on 02/06/2013 at 15:31..
Add new symbols
https://invent.kde.org/neon/backports-jammy/wayland/commit/070efaa62d7032af4ebf12c08176b4bc70ca8f04

Git commit 3ee0c8270ecafb208d792930b8078a23175414b6 by Emilio Pozuelo Monfort on 03/06/2013 at 06:44..
Bump SHVER accordingly
https://invent.kde.org/neon/backports-jammy/wayland/commit/3ee0c8270ecafb208d792930b8078a23175414b6

Git commit 269987c5c4221d376e7ec37bdada7fff6ee50c43 by Emilio Pozuelo Monfort on 03/06/2013 at 06:44..
Release to experimental
https://invent.kde.org/neon/backports-jammy/wayland/commit/269987c5c4221d376e7ec37bdada7fff6ee50c43

Git commit bc3e020475e0fc29f265c4f8029f03584bee086e by Kristian Høgsberg (on behalf of Rob Bradford) on 05/06/2013 at 03:13..
build: Add declaration checks to check for required syscall flags

The required flags are relatively new and some older enterprise distributions
do not feature them.

https://bugs.freedesktop.org/show_bug.cgi?id=63360
https://invent.kde.org/neon/backports-jammy/wayland/commit/bc3e020475e0fc29f265c4f8029f03584bee086e

Git commit dce104dcc23ea40795dffab05dfe753f4fd887d7 by Kristian Høgsberg (on behalf of Rob Bradford) on 05/06/2013 at 04:05..
protocol: Add a name event to give seat name

This provides the ability for a client to differentiate events from
different seats in a multiple seat environment.
https://invent.kde.org/neon/backports-jammy/wayland/commit/dce104dcc23ea40795dffab05dfe753f4fd887d7

Git commit 28472970df58c69565dbbee2074c434041f9ece4 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 05/06/2013 at 04:33..
Add a "side" field and some sanity checks to wl_map.

The original wl_map implementation did no checking to ensures that ids fell
on the correct side of the WL_SERVER_ID_START line.  This meant that a
client could send the server a server ID and it would happily try to use
it.  Also, there was no distinction between server-side and client-side in
wl_map_remove.  Because wl_map_remove added the entry to the free list
regardless of which side it came from, the following set of actions would
break the map:

1. Client creates a bunch of objects
2. Client deletes one or more of those objects
3. Client does something that causes the server to create an object

Because of the problem in wl_map_remove, the server would take an old
client-side id, apply the WL_SERVER_ID_START offset, and try to use it as a
server-side id regardless of whether or not it was valid.

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

Git commit 2c7468b868acc334b483fa2617f31bbfb13a3412 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 05/06/2013 at 04:55..
Add support for flags in the wl_map API and add a WL_MAP_ENTRY_LEGACY flag

The implementation in this commit allows for one bit worth of flags.  If
more flags are desired at a future date, then the wl_map implementation
will have to change but the wl_map API will not.

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

Git commit 1488c96a5db72bcd3b73fabd1f26e8031f773f64 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 05/06/2013 at 04:59..
Add accessor functions for wl_resource and deprecate wl_client_add_resource

This is the first step towards making wl_resource an opaque pointer type.

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

Git commit a3870a297c7ee98085c0cd4c1a0b6372ecda05f5 by Kristian Høgsberg on 05/06/2013 at 05:08..
protocol: Move new name event below existing requests and events and version it

Missed v2 of Robs patch that already did this based on feedback from
Ander and Daniel.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a3870a297c7ee98085c0cd4c1a0b6372ecda05f5

Git commit 8fd60c683a3da7299b0c891c73e26385ed895f16 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 05/06/2013 at 21:45..
Change WL_ZOMBIE_OBJECT from 0x2 to an actual pointer

In order to use the second-lowest bit of each pointer in wl_map for the
WL_MAP_ENTRY_LEGACY flag, every pointer has to be a multiple of 4.  This
was a good assumption, except with WL_ZOMBIE_OBJECT.  This commit creates
an actual static variable to which WL_ZOMBIE_OBJECT now points.  Since
things are only every compared to WL_ZOMBIE_OBJECT with "==" or "!=", the
only thing that matters is that it is unique.

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

Git commit 2d586a759eeb7890f76e091791acd86b669061df by Kristian Høgsberg (on behalf of Jason Ekstrand) on 05/06/2013 at 21:45..
Remove incorrect sanity-check from wl_map_insert_at

I got a little over-eager with my sanity checks and didn't realize that the
client uses wl_map_insert_at to mark objects as zombies when they come from
the server-side.

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

Git commit 57f74af2788f7c1ac2f13bca235d4ed258ceff06 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 05/06/2013 at 21:55..
Update tests for wl_map changes and add a map_flags test
https://invent.kde.org/neon/backports-jammy/wayland/commit/57f74af2788f7c1ac2f13bca235d4ed258ceff06

Git commit 7b8b8c079514c471ac2ee5203e804247f7bef32a by Emilio Pozuelo Monfort on 06/06/2013 at 21:22..
Upload to unstable.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7b8b8c079514c471ac2ee5203e804247f7bef32a

Git commit bca4124045e2a0a4356ead2c58c446a65102e74e by Kristian Høgsberg on 07/06/2013 at 05:00..
server: Add wl_resource_get_id()
https://invent.kde.org/neon/backports-jammy/wayland/commit/bca4124045e2a0a4356ead2c58c446a65102e74e

Git commit c56af574cab3a308a76def3123630397b207994a by Kristian Høgsberg (on behalf of Rob Bradford) on 14/06/2013 at 18:56..
build: Fix warning message on syscall failures
https://invent.kde.org/neon/backports-jammy/wayland/commit/c56af574cab3a308a76def3123630397b207994a

Git commit 885d0575369be5e4ee7c1e000b7f612876056bbb by Kristian Høgsberg (on behalf of Rob Bradford) on 14/06/2013 at 18:56..
protocol: Add missing since attribute for name event on wl_seat

This event was added in version 2 of the protocol.
https://invent.kde.org/neon/backports-jammy/wayland/commit/885d0575369be5e4ee7c1e000b7f612876056bbb

Git commit 61ac9c68490b311afc4e34f0c515bef85f66a69a by Kristian Høgsberg (on behalf of Jason Ekstrand) on 14/06/2013 at 19:56..
server: Add aditional wl_resource accessors

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

Git commit 3c7e8bfbb4745315b7bcbf69fa746c3d6718c305 by Kristian Høgsberg on 17/06/2013 at 15:50..
client: Add wl_display_prepare_read() API to relax thread model assumptions

The current thread model assumes that the application or toolkit will have
one thread that either polls the display fd and dispatches events or just
dispatches in a loop.  Only this main thread will read from the fd while
all other threads will block on a pthread condition and expect the main
thread to deliver events to them.

This turns out to be too restrictive.  We can't assume that there
always will be a thread like that.  Qt QML threaded rendering will
block the main thread on a condition that's signaled by a rendering
thread after it finishes rendering.  This leads to a deadlock when the
rendering threads blocks in eglSwapBuffers(), and the main thread is
waiting on the condition.  Another problematic use case is with games
that has a rendering thread for a splash screen while the main thread
is busy loading game data or compiling shaders.  The main thread isn't
responsive and ends up blocking eglSwapBuffers() in the rendering thread.

We also can't assume that there will be only one thread polling on the
file descriptor.  A valid use case is a thread receiving data from a
custom wayland interface as well as a device fd or network socket.
The thread may want to wait on either events from the wayland
interface or data from the fd, in which case it needs to poll on both
the wayland display fd and the device/network fd.

The solution seems pretty straightforward: just let all threads read
from the fd.  However, the main-thread restriction was introduced to
avoid a race.  Simplified, main loops will do something like this:

	wl_display_dispatch_pending(display);

	/* Race here if other thread reads from fd and places events
	 * in main eent queue.  We go to sleep in poll while sitting on
	 * events that may stall the application if not dispatched. */

	poll(fds, nfds, -1);

	/* Race here if other thread reads and doesn't queue any
	 * events for main queue. wl_display_dispatch() below will block
	 * trying to read from the fd, while other fds in the mainloop
	 * are ignored. */

	wl_display_dispatch(display);

The restriction that only the main thread can read from the fd avoids
these races, but has the problems described above.

This patch introduces new API to solve both problems.  We add

	int wl_display_prepare_read(struct wl_display *display);

and

	int wl_display_read_events(struct wl_display *display);

wl_display_prepare_read() registers the calling thread as a potential
reader of events.  Once data is available on the fd, all reader
threads must call wl_display_read_events(), at which point one of the
threads will read from the fd and distribute the events to event
queues.  When that is done, all threads return from
wl_display_read_events().

From the point of view of a single thread, this ensures that between
calling wl_display_prepare_read() and wl_display_read_events(), no
other thread will read from the fd and queue events in its event
queue.  This avoids the race conditions described above, and we avoid
relying on any one thread to be available to read events.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3c7e8bfbb4745315b7bcbf69fa746c3d6718c305

Git commit 7094441b1d1ad15e7e0121410d23c3e94731a805 by Kristian Høgsberg (on behalf of Ander Conselvan de Oliveira) on 18/06/2013 at 05:29..
doc: Add a small contributing guide

Document what we expect in terms of commit messages and coding style.
New contributors are usually unaware of this, so it is good to have a
document to point them too.
https://invent.kde.org/neon/backports-jammy/wayland/commit/7094441b1d1ad15e7e0121410d23c3e94731a805

Git commit 96afa347762bd9796288e8052ccc42989a68386d by Kristian Høgsberg (on behalf of Jason Ekstrand) on 20/06/2013 at 19:12..
Free non-legacy resources inside wl_resource_destroy

This commit makes wl_resource_destroy automatically free all non-legacy
resource structures.  Since wl_resource is now an opaque structure it
doesn't make sense for the clients to be freeing it.  This checks to make
sure that it was added through wl_client_add_object or wl_client_new_object
and not wl_client_add_resource before it frees it.  This way if it is a
legacy resources embedded in a structure somewhere we don't have an invalid
free.

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

Git commit 5ac5d55d81dc1dad8f68ddde60b9f8895641567d by Kristian Høgsberg (on behalf of Jason Ekstrand) on 21/06/2013 at 23:18..
Add a wl_resource_instance_of function

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

Git commit ee0d986a50aed60a4373dc1f4ca36f4180def1a9 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 21/06/2013 at 23:18..
Change SHM wl_buffer functions to use the wl_shm_buffer structure

This commit does not break ABI.  It merely changes the types of some things
and adds a wl_shm_buffer_get function.

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

Git commit 3af748b872f8f1ac4ce536b9826cc7ecbe74df6a by Kristian Høgsberg (on behalf of Jason Ekstrand) on 21/06/2013 at 23:18..
Change wl_shm_buffer to use a resource pointer

This commit also has the effect of making wl_shm_buffer no longer a
wl_buffer derivative.

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

Git commit 2e075874435e0f2c8a03faeec24a4062b94c47b2 by Kristian Høgsberg (on behalf of Rob Bradford) on 28/06/2013 at 23:51..
protocol: add no_keymap format to keymap formats

This format is used to specify that the key button events received are not in
relation to any key map and that the codes should be interpreted directly.

v2: Use zero for the no keymap enum value and enhance the documentation
for the enum entry.
https://invent.kde.org/neon/backports-jammy/wayland/commit/2e075874435e0f2c8a03faeec24a4062b94c47b2

Git commit d94a8722cb29d8b897672be66ff3c9ff79eab6fe by Kristian Høgsberg on 02/07/2013 at 19:52..
server: Make wl_object and wl_resource opaque structs

With the work to add wl_resource accessors and port weston to use them,
we're ready to make wl_resource and wl_object opaque structs.  We keep
wl_buffer in the header for EGL stacks to use, but don't expose it by
default.  In time we'll remove it completely, but for now it provides a
transition paths for code that still uses wl_buffer.

Reviewed-by: Jason Ekstrand<jason at jlekstrand.net>
https://invent.kde.org/neon/backports-jammy/wayland/commit/d94a8722cb29d8b897672be66ff3c9ff79eab6fe

Git commit d35b6278c0a4b731fcd2464c848a1c3ab5ec93a4 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 02/07/2013 at 19:52..
Add version information to wl_message signatures.

This commit adds version information to wl_message signatures and a
wl_message_get_since function to retrieve.  The since version comes in the
form of a (possible) integer at the begining of the message.  If the
message starts with an integer, then it specifies the "since" version of
that message.  Messages present in version one do not get this "since"
information.  In this way we can run-time detect the version information
for a structure on a per-message basis.

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

Git commit 4917a967bdcd33b7ad264af9c984c3957d87f569 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 02/07/2013 at 21:01..
Add wl_resource_create() and a version field to wl_resource

A new function, wl_resource_create(), lets the compositor create a
wl_resource for a given version of the interface.  Passing 0 for the
object ID will allocate a new ID. The implementation, user data and
destructor can be set with wl_resource_set_implementation().

These two functions deprecates wl_client_add/new_object and the
main difference and motivation is the ability to provide a version number
for the resource.  This lets the compositor track which version of the
interface a client has created and we'll use that to verify incoming requests.

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

Git commit a09d7f0d60143653f0bd3e569e8bc4fcef73eeba by Kristian Høgsberg (on behalf of Jason Ekstrand) on 02/07/2013 at 21:01..
wayland-server: Verify request versions before invoking handler

This commit provides a layer of protection for the compositor in the form
of message version checking.  We track version information in the
wl_resource and now use this version information to verify that a request
exists in that protocol version before invoking it.  This way libwayland
won't accidentally invoke a request that does not exist and thereby cause
the compositor to crash.

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

Git commit 9cc0a6789695a2b41d1aa514900ba3b81f9c3c44 by Kristian Høgsberg on 02/07/2013 at 21:01..
wayland-server: Dont free resource in user data destroy callback
https://invent.kde.org/neon/backports-jammy/wayland/commit/9cc0a6789695a2b41d1aa514900ba3b81f9c3c44

Git commit b5b11650081f7adb4866fcacd216d3bd83da5024 by Kristian Høgsberg on 02/07/2013 at 21:01..
wayland-server: Mark wl_client_add/new_object as deprecated
https://invent.kde.org/neon/backports-jammy/wayland/commit/b5b11650081f7adb4866fcacd216d3bd83da5024

Git commit c82a52a47e5e01246680b5d257fff7bc42cb48bf by Kristian Høgsberg on 02/07/2013 at 21:01..
wayland-server: Remove error event posting from wl_resource_create

The wl_client_add/new_object() functions sends out an NO_MEMORY error if
the allocation fails.  This was convenient in a couple of places where
that was all the error handling that was needed.  Unfortunately that
looks like out-of-memory isn't handled at the call site and set a bad
precedent for not cleaning up properly or not handling at all.

As we're introducing wl_resource_create() as a replacement for those two
functions, let's remove the automatic error event posting and require
the caller to do that if necessary.

This commit also introduces a new helper, wl_client_post_no_memory() to
make it possible to send NO_MEMORY events from bind where we don't have
a wl_resource.
https://invent.kde.org/neon/backports-jammy/wayland/commit/c82a52a47e5e01246680b5d257fff7bc42cb48bf

Git commit 477c7237e1f09695f37f062c2bb5520bc3a9ed4c by Kristian Høgsberg on 02/07/2013 at 21:01..
wayland-server: Remove left-over double free in unbind_resource() helper
https://invent.kde.org/neon/backports-jammy/wayland/commit/477c7237e1f09695f37f062c2bb5520bc3a9ed4c

Git commit 3cff4693ea2d547191a2d4270d9444da7df7d462 by Kristian Høgsberg on 02/07/2013 at 21:01..
wayland-server: Free non-legacy wl_resource structs during wl_client_destroy

We need to free the non-legacy resources during client shutdown as well.
https://invent.kde.org/neon/backports-jammy/wayland/commit/3cff4693ea2d547191a2d4270d9444da7df7d462

Git commit 60fc83af6ea47bd6cca248a04aff5fb60115977a by Kristian Høgsberg (on behalf of Daiki Ueno) on 03/07/2013 at 20:37..
build: Install wayland-scanner.mk under $(pkgdatadir).
https://invent.kde.org/neon/backports-jammy/wayland/commit/60fc83af6ea47bd6cca248a04aff5fb60115977a

Git commit 40fc79d5b095e330ab6f851e35ba54a65781679f by Kristian Høgsberg (on behalf of Daiki Ueno) on 03/07/2013 at 20:38..
build: Add wayland-scanner.pc.

To allow user program to include wayland-scanner.m4 in tarball, move
the path variables from it into wayland-scanner.pc.
https://invent.kde.org/neon/backports-jammy/wayland/commit/40fc79d5b095e330ab6f851e35ba54a65781679f

Git commit 4cffa0fd61fde7760f2506b154b2af7d24b8c25f by Kristian Høgsberg on 09/07/2013 at 05:15..
wayland-server: Add wl_global_create/destroy()

This patch introduces wl_global_create() and wl_global_destroy() as
replacements for wl_display_add_global() and wl_display_remove_global().
The add/remove_global API did not allow a compositor to indicate
the implemented version of a global, it just took the version from
the interface meta data.  The problem is that the meta data
(which lives in libwayland-server.so) can get out of sync with a
compositor implementation.  The compositor will then advertise a
higher version of a global than what it actually implements.

The new API lets a compositor pass in a version when it registers
a global, which solves the problem.  The add/remove API is deprecated
with this patch and will be removed.
https://invent.kde.org/neon/backports-jammy/wayland/commit/4cffa0fd61fde7760f2506b154b2af7d24b8c25f

Git commit 12cea9559313c3503a7a321e684e3ef1ec7a6e49 by Kristian Høgsberg (on behalf of Neil Roberts) on 09/07/2013 at 21:59..
wayland-client: Treat EOF when reading the wayland socket as an error

If EOF is encountered while reading from the Wayland socket, make
wl_display_read_events() return -1 so that it will be treated as an
error. The documentation for this function states that it will set
errno when there is an error so it additionally makes up an errno of
EPIPE.

If we don't do this then when the compositor quits the Wayland socket
will be become ready for reading but wl_display_dispatch will do
nothing which typically makes the application take up 100% CPU. In
particular eglSwapBuffers will likely get stuck in an infinite busy
loop because it repeatedly calls wl_display_dispatch_queue while it
waits for the frame callback.

https://bugzilla.gnome.org/show_bug.cgi?id=703892
https://invent.kde.org/neon/backports-jammy/wayland/commit/12cea9559313c3503a7a321e684e3ef1ec7a6e49

Git commit becca5fcf7a69e5e7b2d287a8a24d93d9d29fa5a by Kristian Høgsberg on 09/07/2013 at 22:00..
wayland-server: Return 0 from read_events() in case of EAGAIN

Getting no data from the socket is not an error condition.  This may
happen in case of calling prepare_read() and then read_events() with
no other pending readers and no data in the socket.  In general,
read_events() may not queue up events in the given event queue.  From
a given threads point of view it doesn't matter whether events were
read and put in a different event queue or no events were read at all.
https://invent.kde.org/neon/backports-jammy/wayland/commit/becca5fcf7a69e5e7b2d287a8a24d93d9d29fa5a

Git commit 93d888aec6331ce30e61188cc00ab3dc9f137efb by Kristian Høgsberg on 09/07/2013 at 22:59..
wayland-server: Don't close display fd in fatal error handler

We can't do that there, we have to make sure it stays a valid fd until
the application calls wl_display_disconnect().  Otherwise the application
may end up poll()ing on a stale or wrong fd in case another part of the
application (or another thread) triggered a fatal error.
https://invent.kde.org/neon/backports-jammy/wayland/commit/93d888aec6331ce30e61188cc00ab3dc9f137efb

Git commit 7100a5e0bb07d77f1700abe53968ffc5ba3749ce by Kristian Høgsberg on 09/07/2013 at 23:18..
Replace two remaining wl_display_add_gloavl() occurences
https://invent.kde.org/neon/backports-jammy/wayland/commit/7100a5e0bb07d77f1700abe53968ffc5ba3749ce

Git commit 3f3671e92e5c6e7e6e7a4b22371b1cccb7de8ca2 by Kristian Høgsberg on 09/07/2013 at 23:27..
Bump version to 1.1.91
https://invent.kde.org/neon/backports-jammy/wayland/commit/3f3671e92e5c6e7e6e7a4b22371b1cccb7de8ca2

Git commit 43f7268989d8feb4b57c0f17af96f8c4ca2e6dd0 by Kristian Høgsberg (on behalf of Mariusz Ceier) on 13/07/2013 at 01:52..
connection: Handle empty signature and signature with just a version.

Functions like wl_argument_from_va_list expect from get_next_argument,
to initialize details->type but when the signature is empty or contains
only version (like in desktop-shell-protocol.c in weston) it is left
uninitialized.

This patch fixes it, by initializing details->type with '\0' value,
signaling end of arguments.

Signed-off-by: Mariusz Ceier <mceier+wayland at gmail.com>
https://invent.kde.org/neon/backports-jammy/wayland/commit/43f7268989d8feb4b57c0f17af96f8c4ca2e6dd0

Git commit 8bd93c5c9df2c40d01b7918c666edd68c0be1544 by Kristian Høgsberg on 13/07/2013 at 04:35..
scanner: Fail more gracefully on out-of-memory

Failing with an error message and error code is little nicer.  I doubt we'll
hit this case much, but it makes the static analysis happy.
https://invent.kde.org/neon/backports-jammy/wayland/commit/8bd93c5c9df2c40d01b7918c666edd68c0be1544

Git commit e0579bfb61320653e3af74f5abb3bd50785c10b1 by Kristian Høgsberg on 13/07/2013 at 04:42..
wayland-client: Handle potential NULL-deref

Instead, return -1 on out-of-memory.  errno will be set to ENOMEM by
the failing malloc.
https://invent.kde.org/neon/backports-jammy/wayland/commit/e0579bfb61320653e3af74f5abb3bd50785c10b1

Git commit 6ef06ad06d0c32bff6bbd471a50a17bd7f92e0bc by Kristian Høgsberg on 13/07/2013 at 05:30..
Bump version to 1.2.0
https://invent.kde.org/neon/backports-jammy/wayland/commit/6ef06ad06d0c32bff6bbd471a50a17bd7f92e0bc

Git commit 47e982a919fbab6cc4297c9150488b8ba2cd3714 by Sven Joachim on 14/07/2013 at 15:53..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-jammy/wayland/commit/47e982a919fbab6cc4297c9150488b8ba2cd3714

Git commit 04852dbe2b43eb4d0cc513bf00f327d67ff2f9b8 by Sven Joachim on 14/07/2013 at 16:00..
New upstream release
https://invent.kde.org/neon/backports-jammy/wayland/commit/04852dbe2b43eb4d0cc513bf00f327d67ff2f9b8

Git commit cfb1345adeae2f250ae22f19e3f37fbec548fe2c by Sven Joachim on 14/07/2013 at 16:13..
Update libwayland-dev.install

Add wayland-scanner.pc as per commit 40fc79d5b095e330ab6f.
Adjust wayland-scanner.mk location per commit 60fc83af6ea47bd6.
https://invent.kde.org/neon/backports-jammy/wayland/commit/cfb1345adeae2f250ae22f19e3f37fbec548fe2c

Git commit a5e1d00f3a9bc86dfdb6f22010ec8574dff3be3f by Sven Joachim on 14/07/2013 at 16:38..
Update symbols files

24 symbols disappeared from libwayland-server0, breaking weston
releases prior to 1.2.0.
https://invent.kde.org/neon/backports-jammy/wayland/commit/a5e1d00f3a9bc86dfdb6f22010ec8574dff3be3f

Git commit 380fe26747ad14afecbf5393e32b9e1f85db8d09 by Sven Joachim on 15/07/2013 at 17:56..
Also bump shlibs

Forgotten in commit cfb1345adeae2f250ae22f19e3f37fbec548fe2c.
https://invent.kde.org/neon/backports-jammy/wayland/commit/380fe26747ad14afecbf5393e32b9e1f85db8d09

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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/eb947e9408c149041c4c8e1c80ef9ebea049f477

Git commit d2aac9dca9e3ee7f9071c667ff67ed7849e93835 by Kristian Høgsberg (on behalf of Jiergir Ogoerg) on 20/08/2013 at 23:22..
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-jammy/wayland/commit/d2aac9dca9e3ee7f9071c667ff67ed7849e93835

Git commit c0eb45286c636efcefc897894c95a284a53216d3 by Kristian Høgsberg on 20/08/2013 at 23:22..
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-jammy/wayland/commit/c0eb45286c636efcefc897894c95a284a53216d3

Git commit 7db9d248ce78cdf790a14589036b1cfc88c77663 by Kristian Høgsberg on 20/08/2013 at 23:22..
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-jammy/wayland/commit/7db9d248ce78cdf790a14589036b1cfc88c77663

Git commit a4ac7a67867013cc2848e044f0220fe631946066 by Kristian Høgsberg (on behalf of Peter Hutterer) on 20/08/2013 at 23:22..
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-jammy/wayland/commit/a4ac7a67867013cc2848e044f0220fe631946066

Git commit f997ed2f4757a0abe2d3a7844e9c9d4e807e0f75 by Kristian Høgsberg (on behalf of Peter Hutterer) on 20/08/2013 at 23:22..
scanner: expand help string

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

Git commit 217af6c71cb3f285fa47d1f4d45e2057bf92b523 by Kristian Høgsberg (on behalf of Peter Hutterer) on 20/08/2013 at 23:22..
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-jammy/wayland/commit/217af6c71cb3f285fa47d1f4d45e2057bf92b523

Git commit 467d95ab73000367ee1c2c18bbdd13fe0165aeab by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
publican: Cleanup Preface's grammar.

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

Git commit 820b0966cb26c086cf83925cf32ee28b990610e0 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
publican: Drop unneeded 'of'

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

Git commit 8c3aa0bd4fe5786838217384345e38bd3ce01f0c by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
publican: Fix grammar several places in Protocol docs

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

Git commit fbb947878791ccf67e214cfa714268b9db0c54a4 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
client: Improve spelling and grammar in comments

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

Git commit 84c554bbc4aa75842a61f30a996a1b9686117bbb by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
protocol: Fix typo by removing a redundant 'a'

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

Git commit 4ed12d470f99663e596ab8d4e952fdf8383d07f2 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
protocol: Add missing d to 'x an y'

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

Git commit 69d9c21973a825c3f520e7d53a59127f552f8c00 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
protocol: Improve grammar for set class description

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

Git commit 2830aa14c9e0683709adbc4cb39749917be05b17 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
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-jammy/wayland/commit/2830aa14c9e0683709adbc4cb39749917be05b17

Git commit 1f5698b173ce643910e75518fd32ff2d91239c79 by Kristian Høgsberg (on behalf of Bryce W. Harrington) on 20/08/2013 at 23:23..
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-jammy/wayland/commit/1f5698b173ce643910e75518fd32ff2d91239c79

Git commit d1fb2f60b83a6f9451461fa52b0eaaa611004ca4 by Kristian Høgsberg (on behalf of Peter Hutterer) on 20/08/2013 at 23:23..
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-jammy/wayland/commit/d1fb2f60b83a6f9451461fa52b0eaaa611004ca4

Git commit b6c49c9e2526010233160462a085e477b321787f by Kristian Høgsberg (on behalf of Jason Ekstrand) on 20/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-jammy/wayland/commit/b6c49c9e2526010233160462a085e477b321787f

Git commit 98bbbac295f002f7525f1b202f9b8187ee680f11 by Kristian Høgsberg (on behalf of Jason Ekstrand) on 20/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-jammy/wayland/commit/98bbbac295f002f7525f1b202f9b8187ee680f11

Git commit 0df6d81aeecc0d5a52ee8ec228f743836aa24448 by Kristian Høgsberg on 22/08/2013 at 18:29..
Bump version to 1.2.1
https://invent.kde.org/neon/backports-jammy/wayland/commit/0df6d81aeecc0d5a52ee8ec228f743836aa24448

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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/10dcf86f7d5f61a683b60bf4e2cbad5268b9b498

Git commit cbf1fc24e8f5f0cb69e399ff178c7ed8bda0df97 by Emilio Pozuelo Monfort on 08/09/2013 at 17:30..
Merge tag '1.2.1' into upstream-unstable

1.2.1
https://invent.kde.org/neon/backports-jammy/wayland/commit/cbf1fc24e8f5f0cb69e399ff178c7ed8bda0df97

Git commit 11fac48e9eceac69bf311a9c9c7100e35b8ad6e6 by Emilio Pozuelo Monfort on 08/09/2013 at 17:31..
Merge branch 'upstream-unstable' into debian-unstable
https://invent.kde.org/neon/backports-jammy/wayland/commit/11fac48e9eceac69bf311a9c9c7100e35b8ad6e6

Git commit fda0d2d37935aaaf0e4f5ef844dffbdae085c181 by Emilio Pozuelo Monfort on 08/09/2013 at 17:31..
New upstream stable release
https://invent.kde.org/neon/backports-jammy/wayland/commit/fda0d2d37935aaaf0e4f5ef844dffbdae085c181

Git commit e81d36862223499786fd5a387774765e71c142da by Emilio Pozuelo Monfort on 08/09/2013 at 17:37..
Add myself to uploaders
https://invent.kde.org/neon/backports-jammy/wayland/commit/e81d36862223499786fd5a387774765e71c142da

Git commit 85000d5fa456bfe2f96fecd03f32f78516845e89 by Emilio Pozuelo Monfort on 08/09/2013 at 17:46..
Release to unstable
https://invent.kde.org/neon/backports-jammy/wayland/commit/85000d5fa456bfe2f96fecd03f32f78516845e89

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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/260d73b449feb979d98de7d280593675f5bbddd0

Git commit 6f0b322e29ab1e5ad213a97d15cd8c1cf02801df by Timo Aaltonen on 07/10/2013 at 07:52..
control: Bump the libwayland0 C/R to (<< 1.1.0) so that it covers the ubuntu version too, and add it to -cursor.
https://invent.kde.org/neon/backports-jammy/wayland/commit/6f0b322e29ab1e5ad213a97d15cd8c1cf02801df

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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/3d441134522a0daaaf870fc67cfc202312a246db

Git commit 5c3abd5f950c4fc1c3d208fae1c92d4585e794c2 by Timo Aaltonen on 10/02/2015 at 17:45..
update the changelog
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/6153dedffb83ffea0b86ce9195c3b381f5434c2b

Git commit 2fef811fe24035c85f290a456ad782a47fa9aadd by Timo Aaltonen on 16/02/2015 at 09:21..
bump the release
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/c450159e0e50d4464a800871cd4cb203528d6468

Git commit 2d6fad29e42cdf4070e549f08faef0d53e3e2acf by Timo Aaltonen on 03/08/2017 at 07:53..
update the changelog
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/commit/de130bdbf8a605241786bac1974f604ccef5b67c

Git commit 7eb795ae271fc3618414787ca0203b23754a78fb by Timo Aaltonen on 03/08/2017 at 08:25..
release to unstable
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/25b4bcc92fc856b5394b4222d24d09e9909d5b66

Git commit 1c0cc8d99c5e89af9ecbaefb9d9fbad0741b7558 by Timo Aaltonen on 10/08/2017 at 07:45..
bump the version
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/commit/16ab6d9e626e93e40e5e32a85f45f08775ca3264

Git commit 6c919a92a0238379b148fbd406b6ea32cd64fd96 by Timo Aaltonen on 10/08/2017 at 08:10..
release to unstable
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/936810fd9e6478e2677a36b603e0125bed8ffb7d

Git commit 926832a7d6b9f2e4b77546b3d8f33f15137edb95 by Timo Aaltonen on 20/03/2018 at 09:25..
update the changelog
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/cdfe7737ef8544c1097b09d93c9dc3d06dfca791

Git commit 3d03a3854a988dff922cba8674d2f488e112fd6d by Timo Aaltonen on 21/03/2018 at 19:44..
upload to experimental
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/c4d9cf1377aa88bd8b97644199ef378d62d20374

Git commit 25c90e12415a20791b4f265b9ca41b359d2c0067 by Timo Aaltonen on 03/04/2018 at 07:53..
release to experimental
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/955e8133322157cf47e0e459f9cc162eb3525fa8

Git commit 5a141795ff42d67cf6e90581d8d55ec445a7f9e8 by Timo Aaltonen on 11/04/2018 at 14:48..
update the changelog
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/571d27e2551b0c4b29feff279e116ba80b8aa80e

Git commit bcd3d3966f50d8b22ab4a59c694d8035bbd4fd00 by Timo Aaltonen on 18/04/2018 at 13:50..
release to unstable
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/1199728dd8abcd3d8b02690d18aa778372cc631a

Git commit 791fa78567be2c8e8d13b1f2644e166ec262c935 by Timo Aaltonen on 05/09/2018 at 17:16..
bump the release
https://invent.kde.org/neon/backports-jammy/wayland/commit/791fa78567be2c8e8d13b1f2644e166ec262c935

Git commit 7abea17ae396b6a653c213800bd3028b99ac29d0 by Timo Aaltonen on 05/09/2018 at 17:20..
upload to unstable
https://invent.kde.org/neon/backports-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/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-jammy/wayland/commit/8135e856ebd79872f886466e9cee39affb7d9ee8

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-jammy/wayland/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-jammy/wayland/commit/47b2d532db4a3b1462cc5869b2259d21c95b89aa


More information about the Neon-commits mailing list