[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

wayland: Changes to 'upstream-experimental'



 configure.ac                |    2 +-
 cursor/wayland-cursor.pc.in |    8 ++++----
 protocol/wayland.xml        |    2 +-
 src/Makefile.am             |    1 +
 src/scanner.c               |    2 +-
 src/wayland-client.c        |   31 +++++++++++++++++++++++++++----
 src/wayland-client.h        |    2 ++
 src/wayland-client.pc.in    |    8 ++++----
 src/wayland-server.c        |    2 +-
 src/wayland-server.pc.in    |    8 ++++----
 10 files changed, 46 insertions(+), 20 deletions(-)

New commits:
commit 64e37842983349dcb3bfd102885669db0c01b16c
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Nov 30 16:00:00 2012 -0500

    configure.ac: Bump version to 1.0.2

diff --git a/configure.ac b/configure.ac
index aa7a62a..0d842e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ([2.64])
 
 m4_define([wayland_major_version], [1])
 m4_define([wayland_minor_version], [0])
-m4_define([wayland_micro_version], [1])
+m4_define([wayland_micro_version], [2])
 m4_define([wayland_version],
           [wayland_major_version.wayland_minor_version.wayland_micro_version])
 

commit da999862716ea7824c254de68af4080d930384ea
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Nov 30 16:11:04 2012 -0500

    client: Update libtool version for new entry points
    
    We've added wl_display_dispatch_queue_pending, so update the libtool
    library current and age fields accordingly.

diff --git a/src/Makefile.am b/src/Makefile.am
index f93954e..e1d04ea 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -27,6 +27,7 @@ libwayland_server_la_SOURCES =			\
 	event-loop.c
 
 libwayland_client_la_LIBADD = $(FFI_LIBS) libwayland-util.la -lrt -lm
+libwayland_client_la_LDFLAGS = -version-info 1:0:1
 libwayland_client_la_SOURCES =			\
 	wayland-protocol.c			\
 	wayland-client.c

commit 5c34b15f033eb0eb7062e99f7761d4cbd93af61e
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Nov 30 14:05:32 2012 -0500

    client: Add \since tag for wl_display_dispatch_queue_pending() documentation

diff --git a/src/wayland-client.c b/src/wayland-client.c
index 5ba2c45..785f4ee 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -940,6 +940,7 @@ wl_display_dispatch_queue(struct wl_display *display,
  * If there are no events queued, this functions return immediately.
  *
  * \memberof wl_display
+ * \since 1.0.2
  */
 WL_EXPORT int
 wl_display_dispatch_queue_pending(struct wl_display *display,

commit 65a0bbdbdeaa4552a1af4ad4b1f3f4960305444f
Author: Quentin Glidic <sardemff7+git@sardemff7.net>
Date:   Tue Nov 27 22:35:18 2012 +0100

    pkgconfig: Use configure provided directories
    
    https://bugs.freedesktop.org/show_bug.cgi?id=57630

diff --git a/cursor/wayland-cursor.pc.in b/cursor/wayland-cursor.pc.in
index b10d039..fbbf5ff 100644
--- a/cursor/wayland-cursor.pc.in
+++ b/cursor/wayland-cursor.pc.in
@@ -1,8 +1,8 @@
 prefix=@prefix@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
- 
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
 Name: Wayland Cursor
 Description: Wayland cursor helper library
 Version: @WAYLAND_VERSION@
diff --git a/src/wayland-client.pc.in b/src/wayland-client.pc.in
index b3df950..e453018 100644
--- a/src/wayland-client.pc.in
+++ b/src/wayland-client.pc.in
@@ -1,8 +1,8 @@
 prefix=@prefix@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
- 
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
 Name: Wayland Client
 Description: Wayland client side library
 Version: @WAYLAND_VERSION@
diff --git a/src/wayland-server.pc.in b/src/wayland-server.pc.in
index 8e3214e..18a0b52 100644
--- a/src/wayland-server.pc.in
+++ b/src/wayland-server.pc.in
@@ -1,8 +1,8 @@
 prefix=@prefix@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
- 
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
 Name: Wayland Server
 Description: Server side implementation of the Wayland protocol
 Version: @WAYLAND_VERSION@

commit 00639de12050c8755965a569de4f6df9dc36171f
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Tue Nov 27 17:03:40 2012 +0200

    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.

diff --git a/src/scanner.c b/src/scanner.c
index 5793c20..6d2eddd 100644
--- a/src/scanner.c
+++ b/src/scanner.c
@@ -356,7 +356,7 @@ start_element(void *data, const char *element_name, const char **atts)
 			version = strtol(since, &end, 0);
 			if (errno == EINVAL || end == since || *end != '\0')
 				fail(ctx, "invalid integer\n");
-			if (version <= ctx->interface->since)
+			if (version < ctx->interface->since)
 				fail(ctx, "since version not increasing\n");
 			ctx->interface->since = version;
 		}

commit d7a63fdbfb8fcfcf4b2a81bc4773958ebd785d15
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Mon Nov 26 23:25:53 2012 +0100

    client: Don't cancel a roundtrip when any event is received
    
    Since wl_display_dispatch() returns the number of processed events or -1
    on error, only cancel the roundtrip if an -1 is returned.
    
    This also fixes a potential memory corruption bug happening when
    wl_display_roundtrip() does an early return and the callback later
    writes to the then out of scope stack allocated `done' parameter.
    
    Introduced by 33b7637b4500a682018b503837b8aca9afae36f2.
    
    Signed-off-by: Jonas Ådahl <jadahl@gmail.com>

diff --git a/src/wayland-client.c b/src/wayland-client.c
index 5fecc01..5ba2c45 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -649,9 +649,12 @@ wl_display_roundtrip(struct wl_display *display)
 	done = 0;
 	callback = wl_display_sync(display);
 	wl_callback_add_listener(callback, &sync_listener, &done);
-	while (!done && !ret)
+	while (!done && ret >= 0)
 		ret = wl_display_dispatch(display);
 
+	if (ret == -1 && !done)
+		wl_callback_destroy(callback);
+
 	return ret;
 }
 

commit 5df752ab16f4a343416952ccbc07ab6aa0217429
Author: Tiago Vignatti <tiago.vignatti@intel.com>
Date:   Thu Nov 22 18:09:32 2012 -0200

    doc: Fix typos
    
    Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>

diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index ca3c56f..cc8fb06 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -102,7 +102,7 @@
 
       When a client creates a registry object, the registry object
       will emit a global event for each global currently in the
-      regitry.  Globals come and go as a result of device hotplugs,
+      registry.  Globals come and go as a result of device hotplugs,
       reconfiguration or other events, and the registry will send out
       @global and @global_remove events to keep the client up to date
       with the changes.  To mark the end of the initial burst of
diff --git a/src/wayland-client.c b/src/wayland-client.c
index 56dbb4f..5fecc01 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -298,11 +298,11 @@ wl_proxy_destroy(struct wl_proxy *proxy)
  * \return 0 on success or -1 on failure
  *
  * Set proxy's listener to \c implementation and its user data to
- * \c data. Ifa listener has already been set, this functions
+ * \c data. If a listener has already been set, this function
  * fails and nothing is changed.
  *
  * \c implementation is a vector of function pointers. For an opcode
- * \c n, \c implemention[n] should point to the handler of \c n for
+ * \c n, \c implementation[n] should point to the handler of \c n for
  * the given object.
  *
  * \memberof wl_proxy

commit fb205078819380538e6c0793f10ce603d7368da3
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Thu Nov 22 15:34:48 2012 +0200

    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.

diff --git a/src/wayland-client.c b/src/wayland-client.c
index 4d0637b..56dbb4f 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -926,6 +926,25 @@ wl_display_dispatch_queue(struct wl_display *display,
 	return dispatch_queue(display, queue, 1);
 }
 
+/** Dispatch pending events in an event queue
+ *
+ * \param display The display context object
+ * \param queue The event queue to dispatch
+ * \return The number of dispatched events on success or -1 on failure
+ *
+ * Dispatch all incoming events for objects assigned to the given
+ * event queue. On failure -1 is returned and errno set appropriately.
+ * If there are no events queued, this functions return immediately.
+ *
+ * \memberof wl_display
+ */
+WL_EXPORT int
+wl_display_dispatch_queue_pending(struct wl_display *display,
+				  struct wl_event_queue *queue)
+{
+	return dispatch_queue(display, queue, 0);
+}
+
 /** Process incoming events
  *
  * \param display The display context object
diff --git a/src/wayland-client.h b/src/wayland-client.h
index 71fe450..8d2b8df 100644
--- a/src/wayland-client.h
+++ b/src/wayland-client.h
@@ -145,6 +145,8 @@ int wl_display_get_fd(struct wl_display *display);
 int wl_display_dispatch(struct wl_display *display);
 int wl_display_dispatch_queue(struct wl_display *display,
 			      struct wl_event_queue *queue);
+int wl_display_dispatch_queue_pending(struct wl_display *display,
+				      struct wl_event_queue *queue);
 int wl_display_dispatch_pending(struct wl_display *display);
 int wl_display_get_error(struct wl_display *display);
 

commit 0f5d41e3bbc2741c86b4c85f9f52b22cf35aa71b
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Nov 21 17:14:55 2012 -0500

    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.

diff --git a/src/wayland-client.c b/src/wayland-client.c
index 5ab000c..4d0637b 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -502,7 +502,7 @@ wl_display_connect_to_fd(int fd)
 	const char *debug;
 
 	debug = getenv("WAYLAND_DEBUG");
-	if (debug)
+	if (debug && (strstr(debug, "client") || strstr(debug, "1")))
 		wl_debug = 1;
 
 	display = malloc(sizeof *display);
diff --git a/src/wayland-server.c b/src/wayland-server.c
index acbab9a..f7f4c14 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -1078,7 +1078,7 @@ wl_display_create(void)
 	const char *debug;
 
 	debug = getenv("WAYLAND_DEBUG");
-	if (debug)
+	if (debug && (strstr(debug, "server") || strstr(debug, "1")))
 		wl_debug = 1;
 
 	display = malloc(sizeof *display);


Reply to: