Pekka Paalanen [Wed, 18 Nov 2015 10:54:10 +0000 (12:54 +0200)]
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@collabora.co.uk>
Tested-by: Víctor Jáquez <vjaquez@igalia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 9 Nov 2015 23:53:08 +0000 (09:53 +1000)]
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@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Peter Hutterer [Mon, 9 Nov 2015 23:34:32 +0000 (09:34 +1000)]
protocol: add the new bitfields to the dtd
See
851614fa78862499e016c5718e730fefbb8e3b73
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Auke Booij <auke@tulcod.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Peter Hutterer [Mon, 9 Nov 2015 04:15:00 +0000 (14:15 +1000)]
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@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Peter Hutterer [Mon, 9 Nov 2015 04:14:59 +0000 (14:14 +1000)]
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@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Marek Chalupa [Mon, 16 Nov 2015 10:49:02 +0000 (11:49 +0100)]
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@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Peter Hutterer [Thu, 5 Nov 2015 22:02:00 +0000 (08:02 +1000)]
doc: make the doxygen output dependent on scanner.c
When the scanner changes, we need to rebuild
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Marek Chalupa [Mon, 16 Nov 2015 10:53:36 +0000 (11:53 +0100)]
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@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Derek Foreman [Thu, 5 Nov 2015 19:57:47 +0000 (13:57 -0600)]
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@collabora.co.uk>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Derek Foreman [Thu, 5 Nov 2015 19:57:46 +0000 (13:57 -0600)]
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@collabora.co.uk>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Derek Foreman [Thu, 5 Nov 2015 19:57:45 +0000 (13:57 -0600)]
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@collabora.co.uk>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
Auke Booij [Sat, 24 Oct 2015 11:07:50 +0000 (12:07 +0100)]
doc: output enum and bitfield attributes in the documentation
Signed-off-by: Auke Booij <auke@tulcod.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause@googlemail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Auke Booij [Mon, 26 Oct 2015 19:39:52 +0000 (19:39 +0000)]
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@tulcod.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause@googlemail.com>
Auke Booij [Sat, 24 Oct 2015 11:07:48 +0000 (12:07 +0100)]
protocol: specify enum and bitfield attributes
Signed-off-by: Auke Booij <auke@tulcod.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause@googlemail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Acked-by: Victor Berger <victor.berger@m4x.org>
Auke Booij [Mon, 26 Oct 2015 12:16:31 +0000 (12:16 +0000)]
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@tulcod.com>
Reviewed-by: Nils Chr. Brause <nilschrbrause@googlemail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Jon Cruz [Wed, 28 Oct 2015 03:03:37 +0000 (12:03 +0900)]
cosmetic: fix incorrect whitespace.
Fixed instance where spaces were used instead of tabs.
Changes since v1:
* rebased
Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Jon Cruz [Mon, 26 Oct 2015 02:50:32 +0000 (11:50 +0900)]
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@osg.samsung.com>
Jon Cruz [Mon, 26 Oct 2015 05:51:19 +0000 (14:51 +0900)]
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@osg.samsung.com>
Derek Foreman [Tue, 20 Oct 2015 01:54:49 +0000 (20:54 -0500)]
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@collabora.co.uk>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Auke Booij [Thu, 8 Oct 2015 13:35:34 +0000 (14:35 +0100)]
Remove protocol/wayland.dtd
The wayland scanner defines the protocol. The DTD specification is not used.
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Nils Christopher Brause <nilschrbrause@googlemail.com>
Jonas Ådahl [Thu, 8 Oct 2015 03:00:54 +0000 (11:00 +0800)]
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@gmail.com>
Reviewed-by: David FORT <contact@hardening-consulting.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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
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>
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
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>
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>
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>
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>
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>
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>
Bryce Harrington [Fri, 31 Jul 2015 01:18:25 +0000 (18:18 -0700)]
gitignore: Ignore some dist generated files
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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.
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
Bryce Harrington [Wed, 27 May 2015 02:01:00 +0000 (19:01 -0700)]
gitignore: Bulk ignore all *-test files
Bryce Harrington [Wed, 27 May 2015 01:59:25 +0000 (18:59 -0700)]
gitignore: ignore recently added 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>
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
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.
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Emmanuel Gil Peyrot [Wed, 18 Mar 2015 00:53:22 +0000 (01:53 +0100)]
cursor: free the array from which images are linked
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>
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>
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>
Hardening [Wed, 25 Feb 2015 14:03:33 +0000 (15:03 +0100)]
wayland.xml: fixed a typo
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>
Bryce Harrington [Sat, 14 Feb 2015 03:17:56 +0000 (19:17 -0800)]
configure.ac: bump to version 1.7.0 for release
Bryce Harrington [Sat, 7 Feb 2015 01:56:44 +0000 (17:56 -0800)]
configure.ac: bump to version 1.6.93 for rc2 release
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>