summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/wayland/wayland/0002-Move-wl_priv_signal-to-wayland-server-private.h.patch
blob: b05b875abb595c47e41d05bb34bfd7373172da38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
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)