aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/108_nxagent_wine-close-delay.full.patch
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-01-16 22:29:05 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-01-16 22:29:05 +0100
commite9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad (patch)
tree2dabac3d6b000def9e33cf30137da4507c19951d /debian/patches/108_nxagent_wine-close-delay.full.patch
parentd7ecf7214f0df5cd7957264be5249f4cd39f4e6e (diff)
downloadnx-libs-e9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad.tar.gz
nx-libs-e9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad.tar.bz2
nx-libs-e9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad.zip
Reorganize patch names, to reflect patch inclusion into lite+full or full-only ,,NX (redistributed)'' tarball.
Diffstat (limited to 'debian/patches/108_nxagent_wine-close-delay.full.patch')
-rw-r--r--debian/patches/108_nxagent_wine-close-delay.full.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/patches/108_nxagent_wine-close-delay.full.patch b/debian/patches/108_nxagent_wine-close-delay.full.patch
new file mode 100644
index 000000000..875571c48
--- /dev/null
+++ b/debian/patches/108_nxagent_wine-close-delay.full.patch
@@ -0,0 +1,60 @@
+Description: Wine Close Delay
+ Wine close delay.
+ .
+ Originally contributed by FreeNX Team (dimbor).
+Forwarded: not-yet
+Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Last-Update: 2011-12-31
+--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
+@@ -176,6 +176,14 @@
+
+ static int nxagentForceExposure(WindowPtr pWin, pointer ptr);
+
++/* by dimbor */
++typedef struct
++{
++ CARD32 state;
++ Window icon;
++}
++nxagentWMStateRec;
++
+ /*
+ * This is currently unused.
+ */
+@@ -1858,6 +1866,17 @@
+ nxagentAddConfiguredWindow(pWin, CWStackingOrder);
+ nxagentAddConfiguredWindow(pWin, CW_Shape);
+
++ /* add by dimbor */
++ if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
++ {
++ Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
++ nxagentWMStateRec wmState;
++ wmState.state = 1; /* NormalState */
++ wmState.icon = None;
++ if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
++ fprintf(stderr, "nxagentRealizeWindow: Additing WM_STATE fail.\n");
++ }
++
+ #ifdef SHAPE
+
+ /*
+@@ -1904,6 +1923,17 @@
+ return True;
+ }
+
++ /* add by dimbor */
++ if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
++ {
++ Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
++ nxagentWMStateRec wmState;
++ wmState.state = 3; /* WithdrawnState */
++ wmState.icon = None;
++ if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
++ fprintf(stderr, "nxagentUnRealizeWindow: Changing WM_STATE failed.\n");
++ }
++
+ XUnmapWindow(nxagentDisplay, nxagentWindow(pWin));
+
+ return True;