xserver/hw/xfree86/common
Enrico Weigelt, metux IT consult 0e5928738f 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-05-02 19:43:53 +02:00
..
.gitignore Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
compiler.h compiler.h: drop translation of Sun compiler platform defines to gcc 2024-07-28 23:26:37 +00:00
dgaproc.h xfree86: common: move non-exported funcs from dgaproc.h to separate header 2024-02-29 10:27:08 +00:00
dgaproc_priv.h xfree86: common: move non-exported funcs from dgaproc.h to separate header 2024-02-29 10:27:08 +00:00
extramodes xfree86: add default modes for 16:9 and 16:10 2018-01-18 14:16:35 -05:00
meson.build xfree86: common: dont install xf86MatchDrivers.h 2025-02-07 00:39:00 +02:00
modeline2c.awk xfree86: make modeline2c.awk put a newline at the end of xf86DefModeSet.c 2025-04-19 17:02:15 +00:00
vesamodes
xaarop.h
xf86.h xfree86: common: move private defs out of xf86VGAarbiter.h 2025-02-06 23:51:33 +00:00
xf86AutoConfig.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Bus.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Bus.h xfree86: Remove vestigial lastScrnFlag 2018-09-12 20:47:15 +00:00
xf86Config.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Config.h xfree86: unexport xf86SetVerbosity() and xf86SetLogVerbosity() 2024-10-10 18:25:54 +00:00
xf86Configure.c xfree86: xf86configure: use NULL instead of 0 2025-02-17 19:41:29 +00:00
xf86Cursor.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86DGA.c xfree86: use dixDestroyPixmap() instead of direct driver call 2025-02-12 17:48:30 +01:00
xf86DPMS.c xfree86: common: move private defs out of xf86VGAarbiter.h 2025-02-06 23:51:33 +00:00
xf86Events.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Extensions.c os: move out extension disable flags to corresponing extensions 2025-02-07 12:00:53 +01:00
xf86Extensions.h
xf86Globals.c Revert "xfree86: Remove -flippixels" 2024-01-03 19:43:16 +00:00
xf86Helper.c xfree86: xf86helper: fix NULL dereference 2025-02-28 16:41:09 +01:00
xf86InPriv.h
xf86Init.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86MatchDrivers.h xfree86: unexport xf86PlatformMatchDriver() 2025-02-07 00:38:58 +02:00
xf86Mode.c rename old symbol PANORAMIX to XINERAMA 2025-02-06 15:51:27 +00:00
xf86Module.h xfree86: mark LoaderShouldIgnoreABI() and LoaderGetABIVersion() deprecated 2025-02-07 14:46:21 +01:00
xf86Module_priv.h xfree86: common: unexport UnloadModule() and UnloadSubModule() 2025-02-06 23:09:02 +00:00
xf86Opt.h xfree86: xf86Opt.h: fix missing include 2025-02-11 14:52:15 +00:00
xf86Option.c xfree86: common: xf86Option: fix char signess mismatch 2024-10-10 13:56:05 +00:00
xf86Optionstr.h
xf86PM.c xfree86: use LogMessageVerb() instead of xf86MsgVerb() 2025-02-07 22:40:06 +00:00
xf86PciInfo.h
xf86Priv.h xfree86: unexport xf86SetVerbosity() and xf86SetLogVerbosity() 2024-10-10 18:25:54 +00:00
xf86Privstr.h Remove check for useSIGIO option 2020-12-08 11:23:31 -05:00
xf86RandR.c rename old symbol PANORAMIX to XINERAMA 2025-02-06 15:51:27 +00:00
xf86VGAarbiter.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86VGAarbiter.h xfree86: common: move private defs out of xf86VGAarbiter.h 2025-02-06 23:51:33 +00:00
xf86VGAarbiterPriv.h xfree86: Hold input_lock across SPRITE functions in VGA arbiter 2017-12-13 12:06:31 -05:00
xf86VGAarbiter_priv.h xfree86: common: move private defs out of xf86VGAarbiter.h 2025-02-06 23:51:33 +00:00
xf86VidMode.c
xf86Xinput.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Xinput.h xfree86: common: move private defs from xf86Xinput.h to xf86Xinput_priv.h 2025-02-06 23:51:33 +00:00
xf86Xinput_priv.h xfree86: common: move private defs from xf86Xinput.h to xf86Xinput_priv.h 2025-02-06 23:51:33 +00:00
xf86cmap.c xfree86: modes: move private definitions out of from xf86RandR12.h 2025-02-06 23:51:33 +00:00
xf86cmap.h
xf86fbBus.c xfree86: unexport os-support functions 2024-04-18 00:40:39 +00:00
xf86fbman.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xf86fbman.h
xf86noBus.c xfree86: unexport os-support functions 2024-04-18 00:40:39 +00:00
xf86pciBus.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86pciBus.h xfree86: Improved autoconfig drivers matching 2017-05-09 17:36:05 -07:00
xf86platformBus.c dix: add per-screen close notify hook 2025-05-02 19:43:53 +02:00
xf86platformBus.h xfree86: unexport xf86PlatformMatchDriver() 2025-02-07 00:38:58 +02:00
xf86sbusBus.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86sbusBus.h xfree86: common: move private defs out of xf86sbusBus.h 2025-02-06 23:51:33 +00:00
xf86sbusBus_priv.h xfree86: common: move private defs out of xf86sbusBus.h 2025-02-06 23:51:33 +00:00
xf86str.h Extend Linux #ifdef to FreeBSD OS. 2023-10-22 16:08:21 +00:00
xf86xv.c xfree86: xv: use window destructor hook 2025-05-02 19:43:53 +02:00
xf86xv.h
xf86xvmc.c Revert "xv: unexport XvScreenRec and XvScreenPtr" 2025-02-07 10:08:41 +01:00
xf86xvmc.h
xf86xvpriv.h xfree86: xv: use window destructor hook 2025-05-02 19:43:53 +02:00
xisb.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xisb.h
xorgHelper.c
xorgVersion.h