[PATCH xserver] Xv: Use unsigned int for XvAdaptor type

Olivier Fourdan ofourdan at redhat.com
Fri Mar 18 13:41:25 UTC 2016


XF86VideoAdaptor uses an unsigned int for its type, and videoproto
defines values greater than the size of a char for the bit mask used in
the type field:

   #define XvPixmapMask     0x00010000
   #define XvWindowMask     0x00020000

But the type used in XvAdaptor for the DIX is defined as an unsigned
char, so the values set in videoproto won't fit in the XvAdaptor type
field.

Beside, XFree86 Xv implementation copies the value from XF86VideoAdaptor
(defined an unsigned int) to the XvAdaptor type (defined as an unsigned
char), so the type for XvAdaptor type ought to be large enough.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
---
 Note: This will break ABI with DDX, so we'd need to bump the ABI version
 as well, but given we're in the middle of development phase, is it
 necessary?

 Xext/xvdix.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Xext/xvdix.h b/Xext/xvdix.h
index 621a1e3..59aaf3d 100644
--- a/Xext/xvdix.h
+++ b/Xext/xvdix.h
@@ -144,7 +144,7 @@ typedef struct {
 
 typedef struct {
     unsigned long base_id;
-    unsigned char type;
+    unsigned int type;
     char *name;
     int nEncodings;
     XvEncodingPtr pEncodings;
-- 
2.5.0



More information about the xorg-devel mailing list