Enrico Weigelt, metux IT consult
0fb851e46f
xfree86: sbus: use CloseScreen hook
...
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:46:08 +02:00
Enrico Weigelt, metux IT consult
57b9155a7d
xfree86: fbman: use CloseScreen hook
...
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:46:05 +02:00
Enrico Weigelt, metux IT consult
0c39ca358e
xfree86: cmap: use CloseScreen hook
...
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:46:02 +02:00
Enrico Weigelt, metux IT consult
b0f1bc92e5
xfree86: randr: use CloseScreen hook
...
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:45:59 +02:00
Enrico Weigelt, metux IT consult
623171ce3f
xfree86: dga: use CloseScreen hook
...
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:45:56 +02:00
Enrico Weigelt, metux IT consult
c5780c4c35
dix: add per-screen close notify hook
...
Right now, extension specific actions on screen closing implemented by wrapping
the ScreenRec's PositionWindow() proc pointer: the extensions are storing the
original pointer in their private data and putting in their own one. On each
call, their proc restores the original one, calls it, and switches back again.
When multiple extensions doing so, they're forming a kind of daisy chain.
(the same is done for lots of other procs)
While that approach is looking nice and elegant on the drawing board, it's
complicated, dangerous like a chainsaw and makes debugging hard, leading to
pretty blurred API borders.
This commit introduces a simple approach for letting extension hook into the
screen closing path safely, w/o having to care much about side effects with
the call chain. Extensions now can simply register their hook proc (and an
opaque pointer) and get called back - w/o ever having to mess with the
ScreenRec's internal structures. These hooks are called before the original
vector (usually handled by DDX/screen driver directly) is called.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:44:41 +02:00
Enrico Weigelt, metux IT consult
b60581e393
xfree86: xv: use window destructor hook
...
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new window destructor hook instead.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:44:24 +02:00
Enrico Weigelt, metux IT consult
f1ba454733
dix: protect from pScreen->SetCursorPosition == NULL
...
It's safer not relying on all ScreenProc's actually filled.
../dix/events.c: In function ‘CheckPhysLimits’:
../dix/events.c:780:14: warning: dereference of NULL ‘pScreen’ [CWE-476] [-Wanalyzer-null-dereference]
780 | (*pScreen->SetCursorPosition)
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:34:14 +02:00
Enrico Weigelt, metux IT consult
c0d068229b
xfree86: common: extra safety checks for NULL pointers
...
Even though it's unlikely ever getting it, still safer to have some
extra checks / asserts than unexpected segfault.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:33:45 +02:00
Enrico Weigelt, metux IT consult
aad59c6dee
xfree86: common: fix not-found check in xf86platformAddDevice()
...
Safer (and easier to understand) if we look at the result pointer
instead of the counter for testing whether device wasn't found.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:33:42 +02:00
Enrico Weigelt, metux IT consult
d3c4e100ed
xfree86: common: gracefully handle allocation failure
...
Better try to handle memory allocation gracefully than just hard
crashing by segfault.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:33:40 +02:00
Enrico Weigelt, metux IT consult
73d2d99ace
xfree86: xf86Priv.h: dont include propertyst.h
...
Nothing in here needs anything from that include file, so no need for
including it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:30:45 +02:00
Enrico Weigelt, metux IT consult
505138167e
xfree86: xf86.h: dont include propertyst.h
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:30:20 +02:00
Enrico Weigelt, metux IT consult
9d98f3a7ca
xfree86: xf86Events.c: add missing include of property.h
...
the file calls some functions from property.h, so it needs to be included.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:30:16 +02:00
Enrico Weigelt, metux IT consult
1e7752f10d
randr: unexport and document RRProviderAutoConfigGpuScreen()
...
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-06-12 16:29:30 +02:00
Enrico Weigelt, metux IT consult
4a5fa21098
randr: unexport and document RRResourcesChanged()
...
Not used by external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:27:26 +02:00
Enrico Weigelt, metux IT consult
90003b42b6
xfree86: drop xf86VGAarbiter.h
...
It doesn't serve any practical purpose anymore and also isn't included
by any external driver, thus also no need to keep it in SDK.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:24:32 +02:00
Enrico Weigelt, metux IT consult
4e38c99155
xfree86: unexport xf86VGAarbiterAllowDRI()
...
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-06-12 16:24:29 +02:00
Enrico Weigelt, metux IT consult
b20ef5b181
xfree86: drop obsolete xf86VGAarbiterDeviceDecodes()
...
Not used by anybody, so no need to keep it anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:24:26 +02:00
Enrico Weigelt, metux IT consult
ffa080cdf0
xfree86: unexport xf86RemoveInputEventDrainCallback()
...
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-06-12 16:24:15 +02:00
Enrico Weigelt, metux IT consult
885cab379b
xfree86: unexport xf86AddInputEventDrainCallback()
...
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-06-12 16:24:12 +02:00
Enrico Weigelt, metux IT consult
78df73b627
xfree86: unexport xf86LookupInput()
...
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-06-12 16:24:08 +02:00
Enrico Weigelt, metux IT consult
d345549372
xfree86: unexport xf86LookupInputDriver()
...
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-06-12 16:24:05 +02:00
Enrico Weigelt, metux IT consult
b700c6c81d
xfree86: unexport xf86InputEnableVTProbe()
...
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-06-12 16:24:02 +02:00
Enrico Weigelt, metux IT consult
e16424212e
xfree86: unexport xf86PostButtonEventM()
...
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-06-12 16:23:59 +02:00
Enrico Weigelt, metux IT consult
2184917646
xfree86: make xf86VIDrvMsgVerb() static
...
Only used inside xf86Helper.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:55 +02:00
Enrico Weigelt, metux IT consult
2cfde50bac
xfree86: make xf86PostKeyEvent() static
...
Only used inside xf86Xinput.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:52 +02:00
Enrico Weigelt, metux IT consult
ef8a427e36
xfree86: drop obsolete xf86PostKeyEventM()
...
It's now only a wrapper calling xf86PostKeyEvent(), and no external driver
using it anymore, so we can drop it entirely.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:48 +02:00
Enrico Weigelt, metux IT consult
dba821515b
xfree86: drop unused xf86DeleteInputDriver()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:45 +02:00
Enrico Weigelt, metux IT consult
f89b48962d
xfree86: drop unused xf86EnableDevice()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:42 +02:00
Enrico Weigelt, metux IT consult
77d254cb8b
xfree86: drop unused xf86PostKeyEventP()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:38 +02:00
Enrico Weigelt, metux IT consult
b79112e1bf
xfree86: drop unused xf86PostProximityEventP()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:35 +02:00
Enrico Weigelt, metux IT consult
fd80169cfe
xfree86: drop unused xf86PostMotionEventP()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:32 +02:00
Enrico Weigelt, metux IT consult
bf27c3441f
xfree86: xf86Option: unexport xf86MarkOptionUsedByName()
...
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-06-12 16:23:28 +02:00
Enrico Weigelt, metux IT consult
3ee128c0e1
xfree86: xf86Option: unexport xf86MarkOptionUsed()
...
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-06-12 16:23:25 +02:00
Enrico Weigelt, metux IT consult
2d12c1285f
xfree86: xf86Option: unexport xf86OptionListReport()
...
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-06-12 16:23:22 +02:00
Enrico Weigelt, metux IT consult
167cefbec4
xfree86: xf86Option: make xf86CheckIfOptionUsedByName() static
...
Only used inside of xf86Option.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:18 +02:00
Enrico Weigelt, metux IT consult
ed6517ac54
xfree86: xf86Option: drop unused xf86CheckIfOptionUsed()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:14 +02:00
Enrico Weigelt, metux IT consult
150c8ed6ce
xfree86: xf86Option: drop unused xf86ReplacePercentOption()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:11 +02:00
Enrico Weigelt, metux IT consult
d2e10b1c98
xfree86: xf86Option: drop unused xf86ReplaceRealOption()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:08 +02:00
Enrico Weigelt, metux IT consult
228cdd3bfe
xfree86: xf86Option: drop unused xf86GetOptValReal()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:04 +02:00
Enrico Weigelt, metux IT consult
b2425861a2
xfree86: xf86Option: drop unused xf86NewOption()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:23:01 +02:00
Enrico Weigelt, metux IT consult
acfb7b9e96
xfree86: xf86Option: drop unused xf86CheckRealOption()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:22:58 +02:00
Enrico Weigelt, metux IT consult
88d42e4e4b
xfree86: xisb: drop unused XisbTrace()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:22:10 +02:00
Enrico Weigelt, metux IT consult
caefc315b8
xfree86: xisb: drop unused XisbWrite()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:21:59 +02:00
Enrico Weigelt, metux IT consult
8626bb5482
xfree86: xv: unexport XF86XvScreenKey
...
Not used by any drivers, and the include is private anyways.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:21:55 +02:00
Enrico Weigelt, metux IT consult
f13a8c1798
xfree86: xv: don't install xf86xvpriv.h
...
Not included by any drivers, and it's supposed to be private anyways.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:21:50 +02:00
Enrico Weigelt, metux IT consult
1d5ed400e3
xfree86: xv: drop unused xf86XVFillKeyHelperPort()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:21:45 +02:00
Enrico Weigelt, metux IT consult
6bd82e64a0
xfree86: fbman: move FBManagerFuncs into x86fbman.c
...
Only used here, so no need to keep it in public API.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:21:41 +02:00
Enrico Weigelt, metux IT consult
9280991e7f
xfree86: fbman: make xf86InitFBManagerRegion() static
...
Only called locally within xf86fbman.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:21:36 +02:00