diff --git a/dix/dix_priv.h b/dix/dix_priv.h index 6e1e92b00..3e2a90af8 100644 --- a/dix/dix_priv.h +++ b/dix/dix_priv.h @@ -18,6 +18,7 @@ #include #include "dix/input_priv.h" +#include "dix/resource_priv.h" #include "include/callback.h" #include "include/cursor.h" @@ -672,4 +673,17 @@ void WakeupHandler(int result); */ void InitBlockAndWakeupHandlers(void); +/* + * @brief retrieve owning client for given XID + * + * just lookup by ID space, the resource doens't need to actually exist + */ +static inline ClientPtr dixLookupXIDOwner(XID xid) +{ + int clientId = dixClientIdForXID(xid); + if (clientId < currentMaxClients) + return clients[clientId]; + return NullClient; +} + #endif /* _XSERVER_DIX_PRIV_H */