[PATCH] dbe: untangle from Xlib structures.

Peter Hutterer peter.hutterer at who-t.net
Thu Jul 16 17:14:51 PDT 2009


XdbeVisualInfo and XdbeScreenVisualInfo are structures used both by the
server and Xlib. Copy into dbestruct.h and rename to DbeVisualInfo and
DbeScreenVisualInfo to avoid potential conflicts with the Xlib headers.

This is technically an API (but not ABI) break.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
Fixes the current build error with xserver.

 dbe/dbe.c       |    9 ++++-----
 dbe/dbestruct.h |   20 +++++++++++++++++---
 dbe/midbe.c     |    6 +++---
 3 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/dbe/dbe.c b/dbe/dbe.c
index a4f853d..56a95e5 100644
--- a/dbe/dbe.c
+++ b/dbe/dbe.c
@@ -50,7 +50,6 @@
 #include "extnsionst.h"
 #include "gcstruct.h"
 #include "dixstruct.h"
-#define NEED_DBE_PROTOCOL
 #include "dbestruct.h"
 #include "midbe.h"
 #include "xace.h"
@@ -182,7 +181,7 @@ ProcDbeAllocateBackBufferName(ClientPtr client)
     WindowPtr			pWin;
     DbeScreenPrivPtr		pDbeScreenPriv;
     DbeWindowPrivPtr		pDbeWindowPriv;
-    XdbeScreenVisualInfo	scrVisInfo;
+    DbeScreenVisualInfo		scrVisInfo;
     register int		i;
     Bool			visualMatched = FALSE;
     xDbeSwapAction		swapAction;
@@ -662,7 +661,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
     register int		count;  /* number of visual infos in reply */
     register int		length; /* length of reply */
     ScreenPtr			pScreen;
-    XdbeScreenVisualInfo	*pScrVisInfo;
+    DbeScreenVisualInfo		*pScrVisInfo;
 
 
     REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq);
@@ -692,8 +691,8 @@ ProcDbeGetVisualInfo(ClientPtr client)
     }
 
     count = (stuff->n == 0) ? screenInfo.numScreens : stuff->n;
-    if (!(pScrVisInfo = (XdbeScreenVisualInfo *)xalloc(count *
-                        sizeof(XdbeScreenVisualInfo))))
+    if (!(pScrVisInfo = (DbeScreenVisualInfo *)xalloc(count *
+                        sizeof(DbeScreenVisualInfo))))
     {
         if (pDrawables)
         {
diff --git a/dbe/dbestruct.h b/dbe/dbestruct.h
index e067f37..4039113 100644
--- a/dbe/dbestruct.h
+++ b/dbe/dbestruct.h
@@ -36,8 +36,7 @@
 
 /* INCLUDES */
 
-#define NEED_DBE_PROTOCOL
-#include <X11/extensions/Xdbeproto.h>
+#include <X11/extensions/dbeproto.h>
 #include "windowstr.h"
 #include "privates.h"
 
@@ -88,6 +87,21 @@ typedef struct _DbeSwapInfoRec
 
 } DbeSwapInfoRec, *DbeSwapInfoPtr;
 
+typedef struct
+{
+    VisualID    visual;    /* one visual ID that supports double-buffering */
+    int         depth;     /* depth of visual in bits                      */
+    int         perflevel; /* performance level of visual                  */
+}
+DbeVisualInfo;
+
+typedef struct
+{
+    int                 count;          /* number of items in visual_depth   */
+    DbeVisualInfo      *visinfo;       /* list of visuals & depths for scrn */
+}
+DbeScreenVisualInfo;
+
 /*
  ******************************************************************************
  ** Per-window data
@@ -177,7 +191,7 @@ typedef struct _DbeScreenPrivRec
     /* Per-screen DDX routines */
     Bool	(*GetVisualInfo)(
 		ScreenPtr /*pScreen*/,
-		XdbeScreenVisualInfo * /*pVisInfo*/
+		DbeScreenVisualInfo * /*pVisInfo*/
 );
     int		(*AllocBackBufferName)(
 		WindowPtr /*pWin*/,
diff --git a/dbe/midbe.c b/dbe/midbe.c
index 4426c9d..49b69f7 100644
--- a/dbe/midbe.c
+++ b/dbe/midbe.c
@@ -85,12 +85,12 @@ static DevPrivateKey dbeWindowPrivKey = &dbeWindowPrivKeyIndex;
  *****************************************************************************/
 
 static Bool
-miDbeGetVisualInfo(ScreenPtr pScreen, XdbeScreenVisualInfo *pScrVisInfo)
+miDbeGetVisualInfo(ScreenPtr pScreen, DbeScreenVisualInfo *pScrVisInfo)
 {
     register int	i, j, k;
     register int	count;
     DepthPtr		pDepth;
-    XdbeVisualInfo	*visInfo;
+    DbeVisualInfo	*visInfo;
 
 
     /* Determine number of visuals for this screen. */
@@ -100,7 +100,7 @@ miDbeGetVisualInfo(ScreenPtr pScreen, XdbeScreenVisualInfo *pScrVisInfo)
     }
 
     /* Allocate an array of XdbeVisualInfo items. */
-    if (!(visInfo = (XdbeVisualInfo *)xalloc(count * sizeof(XdbeVisualInfo))))
+    if (!(visInfo = (DbeVisualInfo *)xalloc(count * sizeof(DbeVisualInfo))))
     {
         return(FALSE); /* memory alloc failure */
     }
-- 
1.6.3.rc1.2.g0164.dirty


More information about the xorg-devel mailing list