From a0a9863efb81b1841d56238a940ca434659dd3f0 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Thu, 26 Jun 2025 13:46:08 +0200 Subject: [PATCH] xfree86: compat: re-add GEInitEvent() for proprietary nvidia driver Yet another very internal function that the proprietary Nvidia driver is using for unknown reasons. NVidia really needs a separate function for just for some trivial struct initialization and don't manage to add three simple lines to their code, so we have to make an extra function for them. Signed-off-by: Enrico Weigelt, metux IT consult --- hw/xfree86/compat/geeventinit.c | 28 ++++++++++++++++++++++++++++ hw/xfree86/compat/meson.build | 1 + 2 files changed, 29 insertions(+) create mode 100644 hw/xfree86/compat/geeventinit.c diff --git a/hw/xfree86/compat/geeventinit.c b/hw/xfree86/compat/geeventinit.c new file mode 100644 index 000000000..53dc2cc42 --- /dev/null +++ b/hw/xfree86/compat/geeventinit.c @@ -0,0 +1,28 @@ +#include + +#include +#include + +#include "os/osdep.h" + +#include "xf86_compat.h" + +/* + * needed for NVidia proprietary driver 570.x and 575.x version + * + * they really need special functions for trivial struct initialization :p + * + * this function had been obsolete and removed long ago, but NVidia folks + * still didn't do basic maintenance and fixed their driver + */ + +_X_EXPORT void GEInitEvent(xGenericEvent *ev, int extension); + +void GEInitEvent(xGenericEvent *ev, int extension) +{ + xf86NVidiaBugObsoleteFunc("GEInitEvent()"); + + ev->type = GenericEvent; + ev->extension = extension; + ev->length = 0; +} diff --git a/hw/xfree86/compat/meson.build b/hw/xfree86/compat/meson.build index ea64e7f0e..22c253b5a 100644 --- a/hw/xfree86/compat/meson.build +++ b/hw/xfree86/compat/meson.build @@ -1,5 +1,6 @@ srcs_xorg_compat = [ 'clientexception.c', + 'geeventinit.c', 'log.c', 'nvidiabug.c', 'ones.c',