Commit Graph

2562 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult d04c46aa30 (!1893) dix: write out X_QueryColors reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 67c2db5d25 (!1893) dix: write out X_AllocColorPlanes reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult e83a1f1309 (!1893) dix: write out X-AllocColorCells reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult a19178ba7a (!1893) dix: write out X_AllocNamedColor reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 4a474a1e0c (!1893) dix: write out X_AllocColor reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 4150cedec0 (!1893) dix: write out X_ListInstalledColormaps reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 7c749e32a6 (!1893) dix: write out X_QueryTextExtents reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult c8128b99ef (!1893) dix: write out X_ListFontsWithInfo reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 5dcb8f69ee (!1893) dix: write out X_ListFonts reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult c8380f0129 (!1893) dix: write out X_QueryFont reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult d58c3dea99 (!1893) dix: write out X_GetAtomName reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 29d6371d67 (!1893) dix: write out X_InternAtom reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 6bd724e17f (!1893) dix: write out X_QueryTree reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult e3536301b1 (!1893) dix: write out X_GetWindowAttributes reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult fd9276ce0b (!1893) dix: write out X_QueryKeymap reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 49bb0d0682 (!1893) dix: write out X_GetPointerControl reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 08d745e2f9 (!1893) dix: write out X_GetPointerControl reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 70e47367fc (!1893) dix: write out X_GetKeyboardControl reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult f1a8a96053 (!1893) dix: write out X_GetKeyboardMapping reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult f30cc07526 (!1893) dix: write out X_GetPointerMapping reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult b2d359779e (!1893) dix: write out X_SetPointerMapping reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult f181ed3657 (!1893) dix: write out X_GetModifierMapping reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 909936324a (!1893) dix: write out X_SetModifierMapping reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult e8c55b0f7a (!1893) dix: write out X_GetSelectionOwner reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult af08ea99f8 (!1893) dix: write out X_GetImage reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 3b59c5afcd (!1893) dix: write out X_TranslateCoords reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 41c8864a96 (!1893) dix: write out X_GetGeometry reply directly
No need for using a complex callback machinery, if we just move the
little pieces of byte-swapping directly into the request handler.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult c6e895a695 (!1893) dix: consolidate ProcGetGeometry()
No need to have it split into two functions one just wrapping
another, so move it all into one.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult fb86e409be (!1897) dix: make CountBits() inline
The function is small enough for easily being inlined.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:54 +02:00
Enrico Weigelt, metux IT consult 23303acfaa (!1897) dix: unexport and document CountBits()
Not used by any drivers/modules, so no need to keep it exported.
Also adding a bit of documentation.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 429e113bb8 (!1899) dix: unexport and document GetXIDRange()
Not used by any drivers (just the xcmisc extension), so no need
to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult ce8854aa13 (!1899) dix: unexport and document GetXIDList()
Not used by any drivers (just the xcmisc extension), so no need
to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 17fa621a91 (!1899) dix: unexport and document HashResourceID()
Not used by any drivers/modules, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult a696570342 (!1899) dix: make CLIENTOFFSET macro private
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 35d957c5e6 (!1899) dix: make RESOURCE_ID_MASK private
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult cb56f8fac8 (!1899) dix: make RESOURCE_CLIENT_MASK macro private
Not used in any external modules, so no need to keep it public.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 2e51d88c27 (!1899) dix: make CLIENT_BITS() macro private
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 8f83c5397f (!1899) dix: make SERVER_BIT define private
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 5d143cf0d5 (!1899) dix: make SameClient() macro private
Not used in any external modules, so need to keep it public.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult f04bb746fc (!1899) dix: add dixResouceIsServerOwned()
Little helper function for checking whether a resource XID
belongs to the server itself.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 39a1274411 (!1899) dix: let CreateGrab operate on ClientPtr instead of array index
Almost all callers have ClientPtr anyways, so we're just doing duplicate
array lookups. Just using ClientPtr directly is easier anyways.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 77ebc0baf5 (!1899) dix: add dixClientForXID()
Retrieves the ClientPtr for the owner of given resource.
This way reducing the sites directly accessing clients[] array.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult e20bf7d26a (!1899) dix: replace CLIENT_ID() macro by dixClientIdForXID() inline function
Make it type-safe and a bit more obvious what it really does,
also adding some inline documentation. Since it's just some
bit shifting magic, it's qualified for inlining.

The CLIENT_ID() macro isn't used by any external modules, so the
new function doesn't need to be in a public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult cd454c6b2d (!1899) dix: add dixClientForOtherClients()
Helper function for retrieving the owning client of an OtherClients.

It's an actual function, so callers don't need access to internal
knowledge (definition of struct _OtherClients, clients[] array, ...)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult 3c0482df81 (!1899) dix: add dixClientForInputClients()
Helper function for retrieving the owning client of an InputClients.

It's an actual function, so callers don't need access to internal
knowledge (definition of struct _InputClients, clients[] array, ...)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:53 +02:00
Enrico Weigelt, metux IT consult c6a21803f6 (!1899) dix: add dixClientForGrab()
Helper function for retrieving the owning client of a grab.

It's an actual function, so callers don't need access to internal
knowledge (definition of GrabRec, clients[] array, ...)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:52 +02:00
Enrico Weigelt, metux IT consult 14cfff2c5e (!1899) dix: replace wClient() macro by dixClientForWindow() inline function
Hide internals (drop the need to include windowstr.h), make it typesafe
as well as the naming easier to understand.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:52 +02:00
Enrico Weigelt, metux IT consult 4fa4436c79 (!1900) dix: events: clean up XaceHookSendAccess() client arg
Use NullClient macro instead of NULL or 0.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:52 +02:00
Enrico Weigelt, metux IT consult dbeebb5ffb (!1901) dix: resource: protect FakeClientID() from returning 0
Some callers treating XID = 0 as a sign for non-existing resource.
Practically should not happen, but nevertheless adding extra
protection, just in case.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:52 +02:00
Enrico Weigelt, metux IT consult cffc7a83ac (!1393) fix name clash on 'GC' between Xlib and Xserver
Both xlib as well as the Xserver use the same identifier "GC" for
different types. While on xlib it's just the numerical ID of a GC,
the xserver defines a struct for it by the same name. This is this
ugly and needs ridiculous hacks for Xserver code that needs xlib.

Easy to solve by just renaming the GC typedef to GCRec (consistent
with how we're naming other structs) and replacing GC* by GCPtr.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:52 +02:00