Add GenericEvent extension to Xext.

This adds (unconditional) support for the GE extension. Anything from now on
that sends events in MPX will have to use the GE extension. No GE, no MPX
events. GE is not actually used yet from anywhere with this commit.

You will need to update x11proto, xextproto, libX11, libXext and xcb to the
matching xge branches. Things will _NOT_ work without the updated protocol
headers and libraries.
This commit is contained in:
Peter Hutterer 2007-04-30 12:57:42 +09:30
commit 5e43910929
9 changed files with 660 additions and 37 deletions

View file

@ -77,6 +77,18 @@ typedef struct _DevCursorNode {
struct _DevCursorNode* next;
} DevCursNodeRec, *DevCursNodePtr, *DevCursorList;
typedef struct _GEClientRec {
Mask eventMask[MAXEXTENSIONS];
ClientPtr client;
struct _GEClientRec* next;
} GEClientRec, *GEClientPtr;
/* Mask structure for GE extension. Allows one mask per extension. */
typedef struct _GEEventMasks {
Mask eventMasks[MAXEXTENSIONS];
struct _GEClientRec* geClients;
} GEEventMasksRec, *GEEventMasksPtr;
typedef struct _WindowAccessRec {
int defaultRule; /* WindowAccessDenyAll */
DeviceIntPtr* perm;
@ -105,6 +117,7 @@ typedef struct _WindowOpt {
struct _OtherInputMasks *inputMasks; /* default: NULL */
#endif
DevCursorList deviceCursors; /* default: NULL */
struct _GEEventMasks* geMasks; /* default: NULL */
WindowAccessRec access;
} WindowOptRec, *WindowOptPtr;