summaryrefslogtreecommitdiff
path: root/patches/xorg-server-1.12.4-6+deb7u2-net-wm-pid-set-for-local-clients.patch.txt
diff options
context:
space:
mode:
Diffstat (limited to 'patches/xorg-server-1.12.4-6+deb7u2-net-wm-pid-set-for-local-clients.patch.txt')
-rw-r--r--patches/xorg-server-1.12.4-6+deb7u2-net-wm-pid-set-for-local-clients.patch.txt23
1 files changed, 23 insertions, 0 deletions
diff --git a/patches/xorg-server-1.12.4-6+deb7u2-net-wm-pid-set-for-local-clients.patch.txt b/patches/xorg-server-1.12.4-6+deb7u2-net-wm-pid-set-for-local-clients.patch.txt
new file mode 100644
index 0000000..3c12fd2
--- /dev/null
+++ b/patches/xorg-server-1.12.4-6+deb7u2-net-wm-pid-set-for-local-clients.patch.txt
@@ -0,0 +1,23 @@
+--- xorg-server-1.12.4/dix/window.c 2012-05-17 10:09:02.000000000 -0700
++++ xorg-server-1.12.4.hacked/dix/window.c 2014-06-04 18:54:33.570855708 -0700
+@@ -840,6 +840,20 @@
+ event.u.createNotify.override = pWin->overrideRedirect;
+ DeliverEvents(pParent, &event, 1, NullWindow);
+ }
++
++ if (pScreen->root == pParent) {
++ /* top-level windows with local connections can reliably get _NET_WM_PID set by the server */
++ LocalClientCredRec *lcc;
++ if (GetLocalClientCreds(client, &lcc) != -1)
++ if (lcc->fieldsSet & LCC_PID_SET) {
++ Atom prop;
++
++ prop = MakeAtom("_NET_WM_PID", strlen("_NET_WM_PID"), TRUE);
++ dixChangeWindowProperty(client, pWin, prop,
++ XA_CARDINAL, 32, PropModeReplace,
++ 1, &lcc->pid, FALSE);
++ }
++ }
+ return pWin;
+ }
+
© All Rights Reserved