Commit Graph

1283 Commits

Author SHA1 Message Date
Jonas Ådahl
e8ce683920 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@gmail.com>
2012-12-03 09:49:36 -05:00
Jonas Ådahl
76dae4f089 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@gmail.com>
2012-12-03 09:49:34 -05:00
Kristian Høgsberg
d943c3de08 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.
2012-11-30 17:19:47 -05:00
Kristian Høgsberg
5940419626 client: Add \since tag for wl_display_dispatch_queue_pending() documentation 2012-11-30 14:05:32 -05:00
Quentin Glidic
92ca1a0e80 pkgconfig: Use configure provided directories
https://bugs.freedesktop.org/show_bug.cgi?id=57630
2012-11-27 20:35:50 -05:00
Ander Conselvan de Oliveira
e8fbce73c7 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.
2012-11-27 11:13:38 -05:00
Ander Conselvan de Oliveira
00639de120 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.
2012-11-27 11:13:36 -05:00
Jonas Ådahl
d7a63fdbfb 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 33b7637b45.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2012-11-27 11:09:45 -05:00
Tiago Vignatti
5df752ab16 doc: Fix typos
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-11-23 22:51:51 -05:00
Ander Conselvan de Oliveira
fb20507881 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.
2012-11-23 21:50:14 -05:00
Kristian Høgsberg
0f5d41e3bb 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.
2012-11-21 17:14:55 -05:00
Kristian Høgsberg
5006829041 configure.ac: Bump version to 1.0.1 2012-11-19 17:30:07 -05:00
Kristian Høgsberg
edb0a1bef5 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.
2012-11-19 17:28:15 -05:00
Kristian Høgsberg
173e160632 Fix distcheck by adding back protocol/Makefile.am
5909dddc78 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.
2012-11-19 17:11:58 -05:00
Kristian Høgsberg
3a671b4d3d protocol: Fix copy and paste summary 2012-11-19 15:44:14 -05:00
Kristian Høgsberg
94fd3d1dd4 protocol: Add summary description for wl_data_device_manager 2012-11-19 15:02:45 -05:00
Martin Olsson
b46dab17f0 client: Fix source comment typos 2012-11-14 13:59:03 -05:00
Tiago Vignatti
73d845af94 doc: Fix incorrectly formatted section header
https://bugs.freedesktop.org/show_bug.cgi?id=56719

Reported-by: Petr Gladkikh <PetrGlad@gmail.com>
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-11-12 16:08:40 -02:00
Tiago Vignatti
4a8395f1a8 doc: Update .gitignore
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-11-12 16:08:38 -02:00
Tiago Vignatti
5afebc4cb1 doc: Set publican to quiet mode
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-11-12 16:08:35 -02:00
Tiago Vignatti
5909dddc78 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@intel.com>
2012-11-12 16:08:32 -02:00
Tiago Vignatti
c77ba6bebc 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@intel.com>
2012-11-12 16:08:29 -02:00
Tiago Vignatti
a95aba7fca doc: doxygen: Interpret the first line comment as the brief
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-11-12 16:07:16 -02:00
Jonas Ådahl
2a8da76fb1 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@gmail.com>
2012-11-07 18:37:55 -05:00
Jonas Ådahl
3d651dc2ee 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@gmail.com>
2012-11-07 18:37:46 -05:00
Jonas Ådahl
1801cdc41a 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@gmail.com>
2012-11-05 15:48:12 -05:00
Jonas Ådahl
e273c7cde3 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@gmail.com>
2012-11-05 15:44:50 -05:00
Kristian Høgsberg
c4857e9232 doc: Remove obsolete doxygen tags
https://bugs.freedesktop.org/show_bug.cgi?id=56377
2012-10-29 13:12:53 -04:00
Kristian Høgsberg
1f521a4f77 configure.ac: Bump version to 1.0.0 2012-10-22 14:55:06 -04:00
Kristian Høgsberg
3b7d7b0c80 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.
2012-10-21 22:24:33 -04:00
Kristian Høgsberg
cc95db359c doc: Fix typo in generated section header
We were generating headers such as 'Events provided by wl_display events',
drop the last 'events'.
2012-10-21 22:11:36 -04:00
Kristian Høgsberg
65eef9d817 wayland: Add protocol documentation for various interfaces 2012-10-21 22:08:08 -04:00
Kristian Høgsberg
a04beb1298 Update TODO
We've knocked a few items of the list.
2012-10-21 20:53:37 -04:00
Kristian Høgsberg
c450b6e23b tests: Include wayland-private.h for container_of 2012-10-21 10:04:17 -04:00
Kristian Høgsberg
1bade73b6b scanner: Fix valgrind errors 2012-10-20 11:38:57 -04:00
Kristian Høgsberg
620d9edb25 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.
2012-10-19 23:26:45 -04:00
Kristian Høgsberg
7ec35d8e13 Move un-namespaced container_of into private header 2012-10-19 23:06:53 -04:00
Kristian Høgsberg
bdd272f024 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.
2012-10-19 17:08:38 -04:00
Tiago Vignatti
56061674cd 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@intel.com>
2012-10-19 16:51:38 -04:00
Ander Conselvan de Oliveira
68c4136a07 doc: Update doxygen documentation when source files are changed 2012-10-19 16:50:38 -04:00
Ander Conselvan de Oliveira
818bb399b0 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.
2012-10-19 16:50:29 -04:00
Ander Conselvan de Oliveira
a4dace7e30 doc: Update wl_display_get_error() documentation 2012-10-17 17:29:04 -04:00
John Kåre Alsaker
0a6fabecd7 wayland-server: Fix up error handling with client creation. 2012-10-17 16:46:15 -04:00
Kristian Høgsberg
009d452432 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.
2012-10-16 15:30:56 -04:00
John Kåre Alsaker
4b6d0e65e7 connection: Dereference id completely for comparasion. 2012-10-16 11:24:31 -04:00
John Kåre Alsaker
a6bc8b426c connection: Removed crashing code. 2012-10-16 11:15:02 -04:00
John Kåre Alsaker
fa51801786 scanner: Make sure arguments have names. 2012-10-16 11:14:24 -04:00
John Kåre Alsaker
5cff8244f2 connection: Don't call memcpy with null pointer. 2012-10-16 11:12:38 -04:00
Pekka Paalanen
6c3e9b8f54 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@gmail.com>
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-10-16 11:06:51 -04:00
Pekka Paalanen
cb2296778d 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@gmail.com>
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-10-16 10:52:40 -04:00