diff options
author | Franc[e]sco | 2020-11-19 18:53:54 +0100 |
---|---|---|
committer | Franc[e]sco | 2020-11-19 18:53:54 +0100 |
commit | 36143e942c8ec26d4424b672cbacf03754f053a9 (patch) | |
tree | f339a8bc57de872cc6a6d52945dac08392012e70 /glxosd-fix.patch | |
download | aur-36143e942c8ec26d4424b672cbacf03754f053a9.tar.gz |
first commit
Diffstat (limited to 'glxosd-fix.patch')
-rw-r--r-- | glxosd-fix.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/glxosd-fix.patch b/glxosd-fix.patch new file mode 100644 index 000000000000..eaecf04aca87 --- /dev/null +++ b/glxosd-fix.patch @@ -0,0 +1,79 @@ +diff --git a/src/glinject/glinject.c b/src/glinject/glinject.c +index 6917439..2c8200a 100644 +--- a/src/glinject/glinject.c ++++ b/src/glinject/glinject.c +@@ -23,6 +23,13 @@ + #include <stdbool.h> + #include <pthread.h> + ++GLINJECT_DEFINE_REAL_SYMBOL(dlopen, void*, (const char *, int)); ++ ++GLINJECT_DEFINE_REAL_SYMBOL(dlsym, void*, (const void *, const char *)); ++ ++GLINJECT_DEFINE_REAL_SYMBOL(dlvsym, void*, ++ (const void *, const char *, const char *)); ++ + // Mutex used for synchronising Lua API calls. + pthread_mutex_t glinject_mutex = PTHREAD_MUTEX_INITIALIZER; + +diff --git a/src/glinject/glinject.h b/src/glinject/glinject.h +index 7f35f95..7603764 100644 +--- a/src/glinject/glinject.h ++++ b/src/glinject/glinject.h +@@ -21,6 +21,10 @@ + typedef ret (*glinject_##name##_type) param;\ + glinject_##name##_type glinject_real_##name; + ++#define GLINJECT_DEFINE_REAL_SYMBOL_EXT(name, ret, param)\ ++ typedef ret (*glinject_##name##_type) param;\ ++ extern glinject_##name##_type glinject_real_##name; ++ + #define GLINJECT_DEFINE_AND_OVERLOAD(name, ret, param)\ + GLINJECT_DEFINE_REAL_SYMBOL(name, ret, param);\ + ret name param +@@ -41,11 +45,11 @@ typedef __GLXextFuncPtr (*gl_function_provider_type)(const GLubyte* name); + /* + * Real symbol definitions + */ +-GLINJECT_DEFINE_REAL_SYMBOL(dlopen, void*, (const char *, int)); ++GLINJECT_DEFINE_REAL_SYMBOL_EXT(dlopen, void*, (const char *, int)); + +-GLINJECT_DEFINE_REAL_SYMBOL(dlsym, void*, (const void *, const char *)); ++GLINJECT_DEFINE_REAL_SYMBOL_EXT(dlsym, void*, (const void *, const char *)); + +-GLINJECT_DEFINE_REAL_SYMBOL(dlvsym, void*, ++GLINJECT_DEFINE_REAL_SYMBOL_EXT(dlvsym, void*, + (const void *, const char *, const char *)); + + /* +diff --git a/src/glinject/glx_events.c b/src/glinject/glx_events.c +index 4012d4b..8bc3857 100644 +--- a/src/glinject/glx_events.c ++++ b/src/glinject/glx_events.c +@@ -21,6 +21,10 @@ void glXDestroy##name (Display *dpy, type drawable) { \ + glinject_real_glXDestroy##name(dpy, drawable); \ + } + ++ ++GLINJECT_DEFINE_REAL_SYMBOL(glXGetProcAddressARB, __GLXextFuncPtr, (const GLubyte*)); ++GLINJECT_DEFINE_REAL_SYMBOL(glXGetProcAddress, __GLXextFuncPtr, (const GLubyte*)); ++ + DEFINE_GLX_DESTRUCTION_HANDLER(GLXPixmap, GLXPixmap) + DEFINE_GLX_DESTRUCTION_HANDLER(Pixmap, GLXPixmap) + DEFINE_GLX_DESTRUCTION_HANDLER(Pbuffer, GLXPbuffer) +diff --git a/src/glinject/glx_events.h b/src/glinject/glx_events.h +index 377cf8c..e5688c9 100644 +--- a/src/glinject/glx_events.h ++++ b/src/glinject/glx_events.h +@@ -12,9 +12,9 @@ + #include "glinject.h" + typedef __GLXextFuncPtr (*gl_function_provider_type)(const GLubyte* name); + +-GLINJECT_DEFINE_REAL_SYMBOL(glXGetProcAddressARB, __GLXextFuncPtr, (const GLubyte*)); ++GLINJECT_DEFINE_REAL_SYMBOL_EXT(glXGetProcAddressARB, __GLXextFuncPtr, (const GLubyte*)); + +-GLINJECT_DEFINE_REAL_SYMBOL(glXGetProcAddress, __GLXextFuncPtr, (const GLubyte*)); ++GLINJECT_DEFINE_REAL_SYMBOL_EXT(glXGetProcAddress, __GLXextFuncPtr, (const GLubyte*)); + + void glinject_load_glx_event_real_symbols(const char* path); + |