summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-08-25 19:23:27 -0700
committerKeith Packard <keithp@keithp.com>2009-08-25 19:33:25 -0700
commit6361c3b9af39265df9222b1f3b6fb9c4197087c1 (patch)
tree0617cec3aa84d2f980b6a5004d2dbfe8cc300db8
parent2786a66719a6dbb735eb7c551c412475c30ffa51 (diff)
Fix SHM functions to work with server after 1.6.0
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--uxa/uxa-accel.c13
-rw-r--r--uxa/uxa-priv.h29
2 files changed, 15 insertions, 27 deletions
diff --git a/uxa/uxa-accel.c b/uxa/uxa-accel.c
index a225a4dc..796f949e 100644
--- a/uxa/uxa-accel.c
+++ b/uxa/uxa-accel.c
@@ -1,7 +1,7 @@
/*
- * Copyright © 2001 Keith Packard
+ * Copyright ® 2001 Keith Packard
*
- * Partly based on code that is Copyright © The XFree86 Project Inc.
+ * Partly based on code that is Copyright ® 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
@@ -23,7 +23,7 @@
*
* Authors:
* Eric Anholt <eric@anholt.net>
- * Michel Dänzer <michel@tungstengraphics.com>
+ * Michel Dänzer <michel@tungstengraphics.com>
*
*/
@@ -216,6 +216,8 @@ uxa_do_put_image (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y,
#ifdef MITSHM
+#include "xorgVersion.h"
+
static Bool
uxa_do_shm_put_image(DrawablePtr pDrawable, GCPtr pGC, int depth,
unsigned int format, int w, int h, int sx, int sy, int sw,
@@ -251,6 +253,8 @@ uxa_do_shm_put_image(DrawablePtr pDrawable, GCPtr pGC, int depth,
return FALSE;
}
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,5,99,0,0)
+
/* The actual ShmPutImage isn't wrapped by the damage layer, so we need to
* inform any interested parties of the damage incurred to the drawable.
*
@@ -271,6 +275,9 @@ uxa_shm_put_image(DrawablePtr pDrawable, GCPtr pGC, int depth, unsigned int form
uxa_finish_access(pDrawable);
}
}
+#else
+#define uxa_shm_put_image NULL
+#endif
ShmFuncs uxa_shm_funcs = { NULL, uxa_shm_put_image };
diff --git a/uxa/uxa-priv.h b/uxa/uxa-priv.h
index d469474d..363b9f70 100644
--- a/uxa/uxa-priv.h
+++ b/uxa/uxa-priv.h
@@ -328,30 +328,8 @@ extern const GCOps uxa_ops;
/* XXX these come from shmint.h, which isn't exported by the server */
#ifdef HAVE_XEXTPROTO_71
-/* Up to xextproto 7.1, these were provided in shmstr.h */
-typedef struct _ShmFuncs {
- PixmapPtr (* CreatePixmap)(ScreenPtr pScreen,
- int width,
- int height,
- int depth,
- char *addr);
- void (* PutImage)(DrawablePtr dst,
- GCPtr pGC,
- int depth,
- unsigned int format,
- int w,
- int h,
- int sx,
- int sy,
- int sw,
- int sh,
- int dx,
- int dy,
- char *data);
-} ShmFuncs, *ShmFuncsPtr;
-#endif
-
-extern ShmFuncs uxa_shm_funcs;
+#include "shmint.h"
+#else
void
ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs);
@@ -361,6 +339,9 @@ ShmSetPixmapFormat(ScreenPtr pScreen, int format);
void
fbShmPutImage(XSHM_PUT_IMAGE_ARGS);
+#endif
+
+extern ShmFuncs uxa_shm_funcs;
#endif