summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@seketeli.org>2008-07-23 01:00:26 +0200
committerAdam Jackson <ajax@redhat.com>2008-07-23 13:50:48 -0400
commitc217cb96dccb39ffd689086b6d833a1963dfb661 (patch)
tree58649d5eda46f84ae9fa28fa5b469efb67753666
parent14a033f0321b3869f0cbedd344bc0f71738fd052 (diff)
[Xephyr] Fix #15839
Make sure the _XSERVER64 macro is not defined in Xlib client code. That macro is meant to be define only on pure server code, when necessary. (cherry picked from commit 5de1867fbb0a336ff3fdc92cbf734849f6111b1b)
-rw-r--r--hw/kdrive/ephyr/XF86dri.c10
-rw-r--r--hw/kdrive/ephyr/ephyrhostglx.c11
-rw-r--r--hw/kdrive/ephyr/ephyrhostvideo.c10
-rw-r--r--hw/kdrive/ephyr/hostx.c12
4 files changed, 43 insertions, 0 deletions
diff --git a/hw/kdrive/ephyr/XF86dri.c b/hw/kdrive/ephyr/XF86dri.c
index e656ff5a0..63e630c9c 100644
--- a/hw/kdrive/ephyr/XF86dri.c
+++ b/hw/kdrive/ephyr/XF86dri.c
@@ -45,6 +45,16 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#ifdef HAVE_CONFIG_H
#include <kdrive-config.h>
#endif
+/*
+ * including some server headers (like kdrive-config.h)
+ * might define the macro _XSERVER64
+ * on 64 bits machines. That macro must _NOT_ be defined for Xlib
+ * client code, otherwise bad things happen.
+ * So let's undef that macro if necessary.
+ */
+#ifdef _XSERVER64
+#undef _XSERVER64
+#endif
#ifdef XEPHYR_DRI
diff --git a/hw/kdrive/ephyr/ephyrhostglx.c b/hw/kdrive/ephyr/ephyrhostglx.c
index f5db5be16..1eec4e02b 100644
--- a/hw/kdrive/ephyr/ephyrhostglx.c
+++ b/hw/kdrive/ephyr/ephyrhostglx.c
@@ -31,6 +31,17 @@
#include <kdrive-config.h>
#endif
+/*
+ * including some server headers (like kdrive-config.h)
+ * might define the macro _XSERVER64
+ * on 64 bits machines. That macro must _NOT_ be defined for Xlib
+ * client code, otherwise bad things happen.
+ * So let's undef that macro if necessary.
+ */
+#ifdef _XSERVER64
+#undef _XSERVER64
+#endif
+
#include <X11/Xlibint.h>
#include <GL/glx.h>
#include <GL/internal/glcore.h>
diff --git a/hw/kdrive/ephyr/ephyrhostvideo.c b/hw/kdrive/ephyr/ephyrhostvideo.c
index 562c2a4e8..41c0b755b 100644
--- a/hw/kdrive/ephyr/ephyrhostvideo.c
+++ b/hw/kdrive/ephyr/ephyrhostvideo.c
@@ -28,6 +28,16 @@
#ifdef HAVE_CONFIG_H
#include <kdrive-config.h>
#endif
+/*
+ * including some server headers (like kdrive-config.h)
+ * might define the macro _XSERVER64
+ * on 64 bits machines. That macro must _NOT_ be defined for Xlib
+ * client code, otherwise bad things happen.
+ * So let's undef that macro if necessary.
+ */
+#ifdef _XSERVER64
+#undef _XSERVER64
+#endif
#include <X11/Xutil.h>
#include <X11/Xlibint.h>
#include <X11/extensions/Xvlib.h>
diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
index 1a71d0641..c870a291d 100644
--- a/hw/kdrive/ephyr/hostx.c
+++ b/hw/kdrive/ephyr/hostx.c
@@ -27,6 +27,18 @@
#include <kdrive-config.h>
#endif
+/*
+ * including some server headers (like kdrive-config.h)
+ * might define the macro _XSERVER64
+ * on 64 bits machines. That macro must _NOT_ be defined for Xlib
+ * client code, otherwise bad things happen.
+ * So let's undef that macro if necessary.
+ */
+#ifdef _XSERVER64
+#undef _XSERVER64
+#endif
+
+
#include "hostx.h"
#include <stdlib.h>