From 7eab400aba5966cbc5f4837a3f32d381de5c9759 Mon Sep 17 00:00:00 2001
From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Date: Mon, 28 Dec 2015 21:33:30 +0100
Subject: libray clean (Xfixes): Provide a fake libXfixes.h header from latest
 X.Org, that includes headers from our Xlib version. This avoids FTBFS caused
 by type redefinitions and should really be a temporary measure.

---
 nx-X11/programs/Xserver/hw/nxagent/Clipboard.c     |  2 +-
 nx-X11/programs/Xserver/hw/nxagent/Events.c        |  2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXcomposite.h   |  2 +-
 .../hw/nxagent/X11/include/Xfixes_nxagent.h        | 90 ++++++++++++++++++++++
 4 files changed, 93 insertions(+), 3 deletions(-)
 create mode 100644 nx-X11/programs/Xserver/hw/nxagent/X11/include/Xfixes_nxagent.h

diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
index 21bcc60e5..10606a24f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
@@ -33,7 +33,7 @@
 
 #include "gcstruct.h"
 #include "xfixeswire.h"
-#include <nx-X11/extensions/Xfixes.h>
+#include "X11/include/Xfixes_nxagent.h"
 
 /*
  * Use asyncronous get property replies.
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c
index d965d574c..9f7d6280f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Events.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c
@@ -66,7 +66,7 @@
 #define Window     XlibWindow
 #define Atom   XlibAtom
 #define Time XlibXID
-#include <nx-X11/extensions/Xfixes.h>
+#include "X11/include/Xfixes_nxagent.h"
 #undef Window
 #undef Atom
 #undef Time
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXcomposite.h b/nx-X11/programs/Xserver/hw/nxagent/NXcomposite.h
index a274b8a39..5887ab24b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXcomposite.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXcomposite.h
@@ -34,7 +34,7 @@
 #else
 
 #include <nx-X11/extensions/composite.h>
-#include <nx-X11/extensions/Xfixes.h>
+#include "X11/include/Xfixes_nxagent.h"
 
 #endif
 
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X11/include/Xfixes_nxagent.h b/nx-X11/programs/Xserver/hw/nxagent/X11/include/Xfixes_nxagent.h
new file mode 100644
index 000000000..cbe64fbba
--- /dev/null
+++ b/nx-X11/programs/Xserver/hw/nxagent/X11/include/Xfixes_nxagent.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2011 Red Hat, Inc.
+ *
+ * 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.
+ */
+/*
+ * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  Keith Packard makes no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * This file is a reduced version of the header file of
+ * <X11/extensions/Xfixes.h>
+ *
+ * This copy of code has been introduced to allow a clear namespace
+ * separation between <X11/...> and <nx-X11/...> header files.
+ *
+ * This version of the Xfixes library header file only contains symbols
+ * required by nxagent and strictly avoids indirectly including
+ * from an X11 library that is also shipped in nx-X11/lib/.
+ *
+ * When using <X11/extensions/Xfixes.h> instead for inclusion in
+ * nxagent, it will attempt pulling in the <X11/extensions/Xlib.h>.
+ * However, the headers of the same name from <nx-X11/...> should be
+ * used instead.
+ *
+ * FIXME: Once the nxagent Xserver starts using libX11 from X.Org, this
+ * hack can be removed.
+ *
+ * 2015/12/28, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ */
+
+#ifndef _XFIXES_H_
+#define _XFIXES_H_
+
+typedef struct {
+    int type;			/* event base */
+    unsigned long serial;
+    Bool send_event;
+    Display *display;
+    Window window;
+    int subtype;
+    Window owner;
+    Atom selection;
+    Time timestamp;
+    Time selection_timestamp;
+} XFixesSelectionNotifyEvent;
+
+void
+XFixesSelectSelectionInput (Display	    *dpy,
+			    Window	    win,
+			    Atom	    selection,
+			    unsigned long   eventMask);
+
+#endif /* _XFIXES_H_ */
-- 
cgit v1.2.3