kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=d3bb5e171f6331b1cd9163406f453ff54fdf910b

commit d3bb5e171f6331b1cd9163406f453ff54fdf910b
Author: Kim Woelders <k...@woelders.dk>
Date:   Thu Aug 19 10:15:38 2021 +0200

    libhack: Add XGetWindowProperty interception
---
 lib/e16_hack.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/lib/e16_hack.c b/lib/e16_hack.c
index 7c63736c..4809d41e 100644
--- a/lib/e16_hack.c
+++ b/lib/e16_hack.c
@@ -173,3 +173,39 @@ XSendEvent(Display * display, Window window, Bool 
propagate,
 
    return (*func) (display, window, propagate, event_mask, event_send);
 }
+
+/*
+ * XGetWindowProperty interception
+ */
+
+typedef int         (GWPF) (Display * display, Window w,
+                           Atom property,
+                           long long_offset, long long_length,
+                           Bool delete, Atom req_type,
+                           Atom * actual_type_return,
+                           int *actual_format_return,
+                           unsigned long *nitems_return,
+                           unsigned long *bytes_after_return,
+                           unsigned char **prop_return);
+
+__EXPORT__ int
+XGetWindowProperty(Display * display, Window w, Atom property,
+                  long long_offset, long long_length, Bool delete,
+                  Atom req_type, Atom * actual_type_return,
+                  int *actual_format_return,
+                  unsigned long *nitems_return,
+                  unsigned long *bytes_after_return,
+                  unsigned char **prop_return)
+{
+   static GWPF        *func = NULL;
+
+   if (!func)
+      func = (GWPF *) GetFunc("XGetWindowProperty");
+
+   if (w == DefaultRootWindow(display))
+      w = MyRoot(display);
+
+   return func(display, w, property, long_offset, long_length, delete,
+              req_type, actual_type_return, actual_format_return,
+              nitems_return, bytes_after_return, prop_return);
+}

-- 


Reply via email to