[PATCH wayland 2/6] wayland-egl: make wayland-egl-backend.h C++ safe

Emil Velikov emil.l.velikov at gmail.com
Thu Feb 15 18:50:13 UTC 2018

From: Emil Velikov <emil.velikov at collabora.com>

private is a reserved keyworkd in C++. Thus to make things work, we
should use something else - wl_egl_window::driver_private.

Make sure to do so only for C++ contexts, or otherwise it will break the
API - leading to build failures when used alongside existing Mesa.

Cc: Daniel Stone <daniels at collabora.com>
Cc: Arnaud Vrac <rawoul at gmail.com>
Cc: Miguel A . Vico <mvicomoya at nvidia.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
 egl/wayland-egl-backend.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/egl/wayland-egl-backend.h b/egl/wayland-egl-backend.h
index 3c23a56..b16ff45 100644
--- a/egl/wayland-egl-backend.h
+++ b/egl/wayland-egl-backend.h
@@ -53,7 +53,15 @@ struct wl_egl_window {
 	int attached_width;
 	int attached_height;
+	/*
+	 * private is a reserved word in C++ - use driver_private instead.
+	 * Don't change the name otherwise, in order to preserve the existing C API.
+	 */
+#ifdef __cplusplus
+	void *driver_private;
 	void *private;
 	void (*resize_callback)(struct wl_egl_window *, void *);
 	void (*destroy_window_callback)(void *);

More information about the wayland-devel mailing list