| From e746f3bf7c8bb2f5dcf9e93edffc23b56eff12d0 Mon Sep 17 00:00:00 2001 |
| From: Joshua Watt <JPEWhacker@gmail.com> |
| Date: Tue, 5 Nov 2019 09:09:50 -0600 |
| Subject: [PATCH] Move wl_priv_signal to wayland-server-private.h |
| |
| Including wayland-server-core.h in wayland-private.h is problematic |
| because wayland-private.h is included by wayland-scanner which should be |
| able to build against non-POSIX platforms (e.g. MinGW). The only reason |
| that wayland-server-core.h was included in wayland-private.h was for the |
| wl_private_signal definitions, so move those to a |
| wayland-server-private.h file that can be included by both |
| wayland-server.c and the tests. |
| |
| Upstream-Status: Accepted [e7d88f35eb89cf0cc77cbddd834cacc63683a9cc] |
| Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> |
| --- |
| Makefile.am | 3 +- |
| src/wayland-private.h | 22 +-------------- |
| src/wayland-server-private.h | 53 ++++++++++++++++++++++++++++++++++++ |
| src/wayland-server.c | 1 + |
| tests/newsignal-test.c | 2 +- |
| 5 files changed, 58 insertions(+), 23 deletions(-) |
| create mode 100644 src/wayland-server-private.h |
| |
| diff --git a/Makefile.am b/Makefile.am |
| index f47d055..026d981 100644 |
| --- a/Makefile.am |
| +++ b/Makefile.am |
| @@ -56,7 +56,8 @@ libwayland_private_la_SOURCES = \ |
| src/connection.c \ |
| src/wayland-os.c \ |
| src/wayland-os.h \ |
| - src/wayland-private.h |
| + src/wayland-private.h \ |
| + src/wayland-server-private.h |
| |
| include_HEADERS = \ |
| src/wayland-util.h \ |
| diff --git a/src/wayland-private.h b/src/wayland-private.h |
| index 29516ec..dc7d12f 100644 |
| --- a/src/wayland-private.h |
| +++ b/src/wayland-private.h |
| @@ -31,11 +31,11 @@ |
| #include <stdarg.h> |
| #include <stdlib.h> |
| #include <stdint.h> |
| +#include <stdbool.h> |
| |
| #define WL_HIDE_DEPRECATED 1 |
| |
| #include "wayland-util.h" |
| -#include "wayland-server-core.h" |
| |
| /* Invalid memory address */ |
| #define WL_ARRAY_POISON_PTR (void *) 4 |
| @@ -236,26 +236,6 @@ zalloc(size_t s) |
| return calloc(1, s); |
| } |
| |
| -struct wl_priv_signal { |
| - struct wl_list listener_list; |
| - struct wl_list emit_list; |
| -}; |
| - |
| -void |
| -wl_priv_signal_init(struct wl_priv_signal *signal); |
| - |
| -void |
| -wl_priv_signal_add(struct wl_priv_signal *signal, struct wl_listener *listener); |
| - |
| -struct wl_listener * |
| -wl_priv_signal_get(struct wl_priv_signal *signal, wl_notify_func_t notify); |
| - |
| -void |
| -wl_priv_signal_emit(struct wl_priv_signal *signal, void *data); |
| - |
| -void |
| -wl_priv_signal_final_emit(struct wl_priv_signal *signal, void *data); |
| - |
| void |
| wl_connection_close_fds_in(struct wl_connection *connection, int max); |
| |
| diff --git a/src/wayland-server-private.h b/src/wayland-server-private.h |
| new file mode 100644 |
| index 0000000..23fa458 |
| --- /dev/null |
| +++ b/src/wayland-server-private.h |
| @@ -0,0 +1,53 @@ |
| +/* |
| + * Copyright © 2008-2011 Kristian Høgsberg |
| + * Copyright © 2011 Intel Corporation |
| + * Copyright © 2013 Jason Ekstrand |
| + * |
| + * Permission is hereby granted, free of charge, to any person obtaining |
| + * a copy of this software and associated documentation files (the |
| + * "Software"), to deal in the Software without restriction, including |
| + * without limitation the rights to use, copy, modify, merge, publish, |
| + * distribute, sublicense, and/or sell copies of the Software, and to |
| + * permit persons to whom the Software is furnished to do so, subject to |
| + * the following conditions: |
| + * |
| + * The above copyright notice and this permission notice (including the |
| + * next paragraph) shall be included in all copies or substantial |
| + * portions of the Software. |
| + * |
| + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
| + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS |
| + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
| + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| + * SOFTWARE. |
| + */ |
| + |
| +#ifndef WAYLAND_SERVER_PRIVATE_H |
| +#define WAYLAND_SERVER_PRIVATE_H |
| + |
| +#include "wayland-server-core.h" |
| + |
| +struct wl_priv_signal { |
| + struct wl_list listener_list; |
| + struct wl_list emit_list; |
| +}; |
| + |
| +void |
| +wl_priv_signal_init(struct wl_priv_signal *signal); |
| + |
| +void |
| +wl_priv_signal_add(struct wl_priv_signal *signal, struct wl_listener *listener); |
| + |
| +struct wl_listener * |
| +wl_priv_signal_get(struct wl_priv_signal *signal, wl_notify_func_t notify); |
| + |
| +void |
| +wl_priv_signal_emit(struct wl_priv_signal *signal, void *data); |
| + |
| +void |
| +wl_priv_signal_final_emit(struct wl_priv_signal *signal, void *data); |
| + |
| +#endif |
| diff --git a/src/wayland-server.c b/src/wayland-server.c |
| index 19f6a76..d6f0206 100644 |
| --- a/src/wayland-server.c |
| +++ b/src/wayland-server.c |
| @@ -45,6 +45,7 @@ |
| |
| #include "wayland-util.h" |
| #include "wayland-private.h" |
| +#include "wayland-server-private.h" |
| #include "wayland-server.h" |
| #include "wayland-os.h" |
| |
| diff --git a/tests/newsignal-test.c b/tests/newsignal-test.c |
| index 47c429b..f3a7bd9 100644 |
| --- a/tests/newsignal-test.c |
| +++ b/tests/newsignal-test.c |
| @@ -26,7 +26,7 @@ |
| #include <assert.h> |
| |
| #include "test-runner.h" |
| -#include "wayland-private.h" |
| +#include "wayland-server-private.h" |
| |
| static void |
| signal_notify(struct wl_listener *listener, void *data) |