platform/upstream/wayland.git
8 years agoclient: Move prepare read documentation to .._prepare_read_queue()
Jonas Ådahl [Fri, 25 Sep 2015 03:56:46 +0000 (11:56 +0800)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
8 years agowayland: add a release request on wl_seat
FORT David [Fri, 2 Oct 2015 12:20:12 +0000 (14:20 +0200)]
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@osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
8 years agoclient: Improve wl_display_roundtrip(_queue)() documentation
Jonas Ådahl [Fri, 2 Oct 2015 09:32:56 +0000 (17:32 +0800)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
8 years agoclient: Be more clear about when one must call wl_display_flush
Jonas Ådahl [Fri, 2 Oct 2015 09:32:54 +0000 (17:32 +0800)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
8 years agoclient: Reword and add documentation about the marshal functions
Jonas Ådahl [Fri, 2 Oct 2015 09:32:53 +0000 (17:32 +0800)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
8 years agoclient: Fix minor grammar issue
Jonas Ådahl [Fri, 2 Oct 2015 09:32:52 +0000 (17:32 +0800)]
client: Fix minor grammar issue

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
8 years agoscanner: Close input resource when done to prevent leak
Bryce Harrington [Fri, 2 Oct 2015 01:13:29 +0000 (18:13 -0700)]
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@osg.samsung.com>
v2: Also close input for other exit points in main.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: David FORT <contact@hardening-consulting.com>
8 years agoContributing: explain Patchwork
Pekka Paalanen [Tue, 22 Sep 2015 06:56:24 +0000 (09:56 +0300)]
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@osg.samsung.com>
Cc: Olivier Fourdan <ofourdan@redhat.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
8 years agoconfigure.ac: bump to version 1.9.90 for open development
Bryce Harrington [Tue, 22 Sep 2015 20:39:36 +0000 (13:39 -0700)]
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@osg.samsung.com>
8 years agoconfigure.ac: bump to version 1.9.0 for the official release 1.9.0
Bryce Harrington [Mon, 21 Sep 2015 23:51:16 +0000 (16:51 -0700)]
configure.ac: bump to version 1.9.0 for the official release

8 years agoconfigure.ac: bump to version 1.8.93 for the RC1 release 1.8.93
Bryce Harrington [Wed, 16 Sep 2015 03:16:37 +0000 (20:16 -0700)]
configure.ac: bump to version 1.8.93 for the RC1 release

8 years agoconfigure.ac: bump to version 1.8.92 for the beta release 1.8.92
Bryce Harrington [Tue, 1 Sep 2015 23:51:30 +0000 (16:51 -0700)]
configure.ac: bump to version 1.8.92 for the beta release

8 years agoRevert "client: require WAYLAND_DISPLAY to be set"
Pekka Paalanen [Mon, 17 Aug 2015 12:20:28 +0000 (15:20 +0300)]
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@gmail.com>
Cc: Giulio Camuffo <giuliocamuffo@gmail.com>
Cc: Daniel Stone <daniel@fooishbar.org>
Cc: Jasper St. Pierre <jstpierre@mecheye.net>
Cc: Ryo Munakata <ryomnktml@gmail.com>
Cc: Ray Strode <halfline@gmail.com>
Cc: Peter Hutterer <peter.hutterer@who-t.net>
Cc: Matthias Clasen <mclasen@redhat.com>
Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Ray Strode <rstrode@redhat.com>
Acked-by: Dima Ryazanov <dima@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-By: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-By: Ryo Munakata <ryomnktml@gmail.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
8 years agoconfigure.ac: bump to version 1.8.91 for the alpha release 1.8.91
Bryce Harrington [Sun, 16 Aug 2015 20:54:50 +0000 (13:54 -0700)]
configure.ac: bump to version 1.8.91 for the alpha release

8 years agoclient: require WAYLAND_DISPLAY to be set
Dima Ryazanov [Thu, 13 Aug 2015 02:34:31 +0000 (19:34 -0700)]
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@gmail.com>
Acked-by: Pekka Paalanen <ppaalanen@gmail.com>
Acked-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Jasper St. Pierre <jstpierre@mecheye.net>
Reviewed-by: Ryo Munakata <ryomnktml@gmail.com>
[Pekka: dropped the wayland-server.c hunk, adjusted summary]

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
8 years agowayland-client : Fix queue_release not to call proxy_destroy
Elvis Lee [Fri, 31 Jul 2015 09:02:54 +0000 (18:02 +0900)]
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@lge.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agoscanner: check sanity of version
Marek Chalupa [Thu, 30 Jul 2015 14:42:00 +0000 (16:42 +0200)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agoscanner: use zxalloc
Marek Chalupa [Thu, 30 Jul 2015 13:07:22 +0000 (15:07 +0200)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agoscanner: get rid of leaks
Marek Chalupa [Thu, 30 Jul 2015 13:07:21 +0000 (15:07 +0200)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agoscanner: refactor creating objects
Marek Chalupa [Thu, 30 Jul 2015 13:07:20 +0000 (15:07 +0200)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agogitignore: Ignore some dist generated files
Bryce Harrington [Fri, 31 Jul 2015 01:18:25 +0000 (18:18 -0700)]
gitignore: Ignore some dist generated files

9 years agobuild: Build libwayland-private
Derek Foreman [Thu, 18 Jun 2015 22:47:22 +0000 (17:47 -0500)]
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@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
9 years agobuild: always build wayland-scanner
Ross Burton [Wed, 1 Jul 2015 21:51:01 +0000 (22:51 +0100)]
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@intel.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agofixed-benchmark: remove unused arguments in main
Marek Chalupa [Fri, 3 Jul 2015 07:33:23 +0000 (09:33 +0200)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agotests: Don't increment variables inside an assert()
Bryce Harrington [Fri, 19 Jun 2015 22:58:01 +0000 (15:58 -0700)]
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@osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
9 years agocosmetic: gratuitous whitespace changes in event-loop.c
Derek Foreman [Thu, 18 Jun 2015 16:48:30 +0000 (11:48 -0500)]
cosmetic: gratuitous whitespace changes in event-loop.c

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agobuild: Use AM_CFLAGS instead of GCC_CFLAGS everywhere
Derek Foreman [Thu, 18 Jun 2015 16:27:21 +0000 (11:27 -0500)]
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@osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agocursor: Update printed license from MIT "X11" to MIT "Expat"
Bryce Harrington [Fri, 12 Jun 2015 23:44:16 +0000 (16:44 -0700)]
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@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agopublican: Update docs license from MIT "X11" to MIT "Expat" style
Bryce Harrington [Fri, 12 Jun 2015 23:44:15 +0000 (16:44 -0700)]
publican: Update docs license from MIT "X11" to MIT "Expat" style

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agodoc: drop the default doxygen tags
Peter Hutterer [Wed, 17 Jun 2015 03:28:49 +0000 (13:28 +1000)]
doc: drop the default doxygen tags

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agodoc: move project-specific doxygen settings to the end of the doxygen file
Peter Hutterer [Wed, 17 Jun 2015 03:27:29 +0000 (13:27 +1000)]
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@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agobuild: Don't depend on libffi unless we're building libraries
Derek Foreman [Wed, 17 Jun 2015 20:13:52 +0000 (15:13 -0500)]
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@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agobuild: Build a subset of libwayland_util when not building libraries
Derek Foreman [Wed, 17 Jun 2015 20:13:51 +0000 (15:13 -0500)]
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@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agobuild: Allow disabling building of wayland libraries
Derek Foreman [Wed, 17 Jun 2015 20:13:50 +0000 (15:13 -0500)]
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@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agobuild: Stop putting FFI_CFLAGS in AM_CFLAGS
Derek Foreman [Wed, 17 Jun 2015 20:13:49 +0000 (15:13 -0500)]
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@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agobuild: Move AM_CFLAGS and AM_CPPFLAGS to the top of Makefile.am
Derek Foreman [Wed, 17 Jun 2015 20:13:48 +0000 (15:13 -0500)]
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@osg.samsung.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoxcursor: Change keithp licensed code from X11 to Expat license
Bryce Harrington [Wed, 10 Jun 2015 18:36:21 +0000 (11:36 -0700)]
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@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Keith Packard <keithp@keithp.com>
9 years agocursor-data.h: Change SuSE licensed code from X11 to Expat
Bryce Harrington [Wed, 10 Jun 2015 18:27:29 +0000 (11:27 -0700)]
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@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Keith Packard <keithp@keithp.com>
9 years agocursor: Update boilerplate from MIT X11 license to MIT Expat license
Bryce Harrington [Wed, 10 Jun 2015 18:03:00 +0000 (11:03 -0700)]
cursor: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoprotocol: Update boilerplate from MIT X11 license to MIT Expat license
Bryce Harrington [Wed, 10 Jun 2015 17:58:50 +0000 (10:58 -0700)]
protocol: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agowayland-server: Fix style on multi-line comment
Bryce Harrington [Wed, 10 Jun 2015 18:26:29 +0000 (11:26 -0700)]
wayland-server: Fix style on multi-line comment

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agosrc: Update boilerplate from MIT X11 license to MIT Expat license
Bryce Harrington [Wed, 10 Jun 2015 17:54:15 +0000 (10:54 -0700)]
src: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agotest-runner: Add copyright boilerplate for .h, same as the .c
Bryce Harrington [Wed, 10 Jun 2015 10:15:36 +0000 (03:15 -0700)]
test-runner: Add copyright boilerplate for .h, same as the .c

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agosocket-test: Fix style on multi-line comment
Bryce Harrington [Wed, 10 Jun 2015 10:00:28 +0000 (03:00 -0700)]
socket-test: Fix style on multi-line comment

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agotests: Update boilerplate from MIT X11 license to MIT Expat license
Bryce Harrington [Wed, 10 Jun 2015 09:57:59 +0000 (02:57 -0700)]
tests: Update boilerplate from MIT X11 license to MIT Expat license

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoContributing: Specify use of MIT Expat for new code files
Bryce Harrington [Wed, 10 Jun 2015 18:48:53 +0000 (11:48 -0700)]
Contributing: Specify use of MIT Expat for new code files

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoCOPYING: Update to MIT Expat License rather than MIT X License
Bryce Harrington [Tue, 9 Jun 2015 23:43:47 +0000 (16:43 -0700)]
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@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agodocs: remove and ignore doc/doxygen_sqlite3.db
Derek Foreman [Thu, 28 May 2015 15:19:09 +0000 (10:19 -0500)]
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@osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
Tested-by: Jon A. Cruz <jonc@osg.samsung.com>
9 years agoconfigure.ac: bump version to 1.8.90
Bryce Harrington [Wed, 3 Jun 2015 07:12:49 +0000 (00:12 -0700)]
configure.ac: bump version to 1.8.90

Master is open for new features again

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agoconfigure.ac: bump to version 1.8.0 for the official release 1.8.0
Bryce Harrington [Tue, 2 Jun 2015 23:06:02 +0000 (16:06 -0700)]
configure.ac: bump to version 1.8.0 for the official release

9 years agoscanner: don't emit the extern declarations for external types
Giulio Camuffo [Thu, 28 May 2015 16:30:33 +0000 (19:30 +0300)]
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@collabora.co.uk>
Tested-by: Arnaud Vrac <rawoul@gmail.com>
9 years agopublish-doc: Add script for publishing docs to the website
Bryce Harrington [Wed, 27 May 2015 22:34:20 +0000 (15:34 -0700)]
publish-doc: Add script for publishing docs to the website

Adapted from same-named script from libinput.

9 years agoconfigure.ac: bump to version 1.7.93 for the RC2 release 1.7.93
Bryce Harrington [Wed, 27 May 2015 02:10:15 +0000 (19:10 -0700)]
configure.ac: bump to version 1.7.93 for the RC2 release

9 years agogitignore: Bulk ignore all *-test files
Bryce Harrington [Wed, 27 May 2015 02:01:00 +0000 (19:01 -0700)]
gitignore: Bulk ignore all *-test files

9 years agogitignore: ignore recently added headers-test
Bryce Harrington [Wed, 27 May 2015 01:59:25 +0000 (18:59 -0700)]
gitignore: ignore recently added headers-test

9 years agotests: add an headers test
Giulio Camuffo [Thu, 21 May 2015 17:43:13 +0000 (20:43 +0300)]
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@osg.samsung.com>
9 years agoconfigure.ac: bump to version 1.7.92 for the RC1 release 1.7.92
Bryce Harrington [Sat, 16 May 2015 00:53:29 +0000 (17:53 -0700)]
configure.ac: bump to version 1.7.92 for the RC1 release

9 years agoremove trailing whitespaces
Michael Vetter [Fri, 15 May 2015 15:12:41 +0000 (17:12 +0200)]
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.

9 years agoscanner: simplify the getopt logic
Pekka Paalanen [Thu, 30 Apr 2015 12:28:35 +0000 (15:28 +0300)]
scanner: simplify the getopt logic

Use the same retvals for both short and long options.

Whitespace fixes.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoconfigure.ac: bump to version 1.7.91 for the alpha release 1.7.91
Bryce Harrington [Thu, 7 May 2015 01:59:59 +0000 (18:59 -0700)]
configure.ac: bump to version 1.7.91 for the alpha release

9 years agoscanner: add a new --include-core-only option
Giulio Camuffo [Wed, 29 Apr 2015 13:46:51 +0000 (16:46 +0300)]
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@collabora.co.uk>
9 years agowayland-egl: add a core header
Giulio Camuffo [Tue, 28 Apr 2015 19:57:18 +0000 (22:57 +0300)]
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@jlekstrand.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agointroduce new headers wayland-client-core.h and wayland-server-core.h
Giulio Camuffo [Wed, 29 Apr 2015 13:34:47 +0000 (16:34 +0300)]
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@jlekstrand.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agotests: Typo in a comment
Bryce Harrington [Wed, 15 Apr 2015 22:06:27 +0000 (15:06 -0700)]
tests: Typo in a comment

(Spotted by Silvan)

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agoscanner: Fail on empty enumerations
Jonas Ådahl [Thu, 19 Mar 2015 08:56:23 +0000 (16:56 +0800)]
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@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: David Fort <contact@hardening-consulting.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoconfig: use simpler regexp syntax to get dot version
Bill Spitzak [Fri, 3 Apr 2015 02:20:00 +0000 (19:20 -0700)]
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@osg.samsung.com>
9 years agoprotocol: add better description of wl_pointer.release
Marek Chalupa [Mon, 30 Mar 2015 10:10:22 +0000 (06:10 -0400)]
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@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoAdd support for direct file reading and writing in wayland-scanner.
Jussi Pakkanen [Mon, 2 Mar 2015 14:08:00 +0000 (16:08 +0200)]
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@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: David Fort <rdp.effort@gmail.com>
9 years agoSpelling fixes (cosmetic)
Bryce Harrington [Thu, 19 Mar 2015 01:32:54 +0000 (18:32 -0700)]
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@osg.samsung.com>
Reviewed-by: Bill Spitzak <spitzak@gmail.com>
9 years agoserver: give more precise error message
Marek Chalupa [Thu, 19 Mar 2015 07:42:27 +0000 (03:42 -0400)]
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@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agocursor: free the array from which images are linked
Emmanuel Gil Peyrot [Wed, 18 Mar 2015 00:53:22 +0000 (01:53 +0100)]
cursor: free the array from which images are linked

9 years agoclient: Fix typo
Bryce Harrington [Tue, 17 Mar 2015 22:09:30 +0000 (15:09 -0700)]
client: Fix typo

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agocursor: add wl_cursor_frame_and_duration
Derek Foreman [Wed, 4 Mar 2015 20:30:41 +0000 (14:30 -0600)]
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@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agoprotocol: Change wording of subsurface placement scheduling
Jonas Ådahl [Tue, 3 Mar 2015 07:40:58 +0000 (15:40 +0800)]
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@gmail.com>
Acked-by: Jasper St. Pierre <jstpierre@mecheye.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
9 years agowayland.xml: fixed a typo
Hardening [Wed, 25 Feb 2015 14:03:33 +0000 (15:03 +0100)]
wayland.xml: fixed a typo

9 years agoconfigure.ac: bump version to 1.7.90
Bryce Harrington [Wed, 18 Feb 2015 02:34:33 +0000 (18:34 -0800)]
configure.ac: bump version to 1.7.90

Master is open for new features again

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agoconfigure.ac: bump to version 1.7.0 for release sandbox/boram/wayland170 1.7.0
Bryce Harrington [Sat, 14 Feb 2015 03:17:56 +0000 (19:17 -0800)]
configure.ac: bump to version 1.7.0 for release

9 years agoconfigure.ac: bump to version 1.6.93 for rc2 release 1.6.93
Bryce Harrington [Sat, 7 Feb 2015 01:56:44 +0000 (17:56 -0800)]
configure.ac: bump to version 1.6.93 for rc2 release

9 years agoconfigure.ac: Fallback to older detection code if pkg-config can't find expat
Bill Spitzak [Tue, 3 Feb 2015 22:26:58 +0000 (14:26 -0800)]
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@osg.samsung.com>
Reviewed-by: Andrew Oakley <aoakley@espial.com>
9 years agotests: Fix FAIL in sanity-test (*timeout*) when Yama LSM enabled
Bryce Harrington [Wed, 7 Jan 2015 19:56:54 +0000 (11:56 -0800)]
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@osg.samsung.com>
Reviewed-by: Marek Chalupa <mchqwerty@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Derek Foreman <derekf@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@osg.samsung.com>
9 years agodoc: Fill in high level description for Surfaces
Bryce Harrington [Wed, 28 Jan 2015 00:32:16 +0000 (16:32 -0800)]
doc: Fill in high level description for Surfaces

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
9 years agotest-runner: wait for concrete pid
Marek Chalupa [Mon, 2 Feb 2015 09:40:21 +0000 (10:40 +0100)]
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@gmail.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agoconfigure.ac: re-bump version to 1.6.92 for rc1 release 1.6.92
Bryce Harrington [Sat, 31 Jan 2015 03:04:07 +0000 (19:04 -0800)]
configure.ac: re-bump version to 1.6.92 for rc1 release

9 years agodoc: Fix out-of-tree build and also distcheck
Jon Cruz [Sat, 31 Jan 2015 02:07:24 +0000 (18:07 -0800)]
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@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agoconfigure.ac: bump version to 1.6.92 for rc1 release
Bryce Harrington [Fri, 30 Jan 2015 22:57:53 +0000 (14:57 -0800)]
configure.ac: bump version to 1.6.92 for rc1 release

9 years agogitignore: Add the new cpp-compile-test
Bryce Harrington [Fri, 30 Jan 2015 01:25:16 +0000 (17:25 -0800)]
gitignore:  Add the new cpp-compile-test

9 years agodoc: Intro text for doxygen output in it's own file
Bill Spitzak [Thu, 29 Jan 2015 02:44:08 +0000 (18:44 -0800)]
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@osg.samsung.com>
Tested-by: Jon A. Cruz <jonc@osg.samsung.com>
9 years agoconfigure.ac: use pkg-config to find expat
Andrew Oakley [Tue, 27 Jan 2015 17:18:13 +0000 (17:18 +0000)]
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).

9 years agodoc/publican/Makefile.am: Add a missing order-only prerequisite
Rui Matos [Tue, 6 Jan 2015 16:35:56 +0000 (17:35 +0100)]
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@gmail.com>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
9 years agoevent-loop: Dispatch idle callbacks twice
Derek Foreman [Wed, 28 Jan 2015 15:25:03 +0000 (09:25 -0600)]
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@osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
9 years agodoc: update diagrams for compatibility.
Jon Cruz [Thu, 29 Jan 2015 01:24:06 +0000 (17:24 -0800)]
doc: update diagrams for compatibility.

Change attribute separators for compatiblity with graphviz older than 2.30.

Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
9 years agodoc: Create hot-linked areas in documents.
Jon Cruz [Thu, 29 Jan 2015 01:24:05 +0000 (17:24 -0800)]
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@osg.samsung.com>
9 years agodoc: Switch from static image files to generated diagrams.
Jon Cruz [Thu, 29 Jan 2015 01:24:04 +0000 (17:24 -0800)]
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@osg.samsung.com>
9 years agodisplay-test: disable leak check in tests that use pthread
Marek Chalupa [Fri, 19 Dec 2014 13:53:07 +0000 (14:53 +0100)]
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@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agotests: add possibility to disable leak check for single test
Marek Chalupa [Fri, 19 Dec 2014 13:53:06 +0000 (14:53 +0100)]
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@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agoclient: unref or destroy proxy when releasing queue
Marek Chalupa [Fri, 19 Dec 2014 13:53:05 +0000 (14:53 +0100)]
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@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agoclient: release display queue in wl_display_disconnect()
Marek Chalupa [Fri, 19 Dec 2014 13:53:04 +0000 (14:53 +0100)]
client: release display queue in wl_display_disconnect()

Don't leak events, not even on exit

Signed-off-by: Marek Chalupa <mchqwerty@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agoconnection-test: add tests for closure leaks
Marek Chalupa [Fri, 19 Dec 2014 13:53:03 +0000 (14:53 +0100)]
connection-test: add tests for closure leaks

When we destroy closure, we are leaking memory sometimes.

Signed-off-by: Marek Chalupa <mchqwerty@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agotests: add tests for leak check in clients
Marek Chalupa [Fri, 19 Dec 2014 13:53:02 +0000 (14:53 +0100)]
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@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
9 years agotest-compositor: extend leak checks into clients
Marek Chalupa [Fri, 19 Dec 2014 13:53:01 +0000 (14:53 +0100)]
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@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
[daniels: squashed counter-proposal patch to simplify fd leak checking,
          plus Bill's counter-counter-proposal, and reworded log.]