aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/108_nxagent_wine-close-delay.patch
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2011-12-29 09:57:30 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2011-12-29 09:57:30 +0100
commit89fea92798d1823bea3991889be4c938043a72ef (patch)
tree201d0b7a5eb63555657914437219d68c356d62c6 /debian/patches/108_nxagent_wine-close-delay.patch
parentdd287a5c8e01cbdab17c94016cf74f9c92205e13 (diff)
downloadnx-libs-89fea92798d1823bea3991889be4c938043a72ef.tar.gz
nx-libs-89fea92798d1823bea3991889be4c938043a72ef.tar.bz2
nx-libs-89fea92798d1823bea3991889be4c938043a72ef.zip
Add FreeNX patches for nxagent (some with other names compared to FreeNX):
- 101_nxagent_set-rgb-path.patch - 102_xserver-xext_set-securitypolicy-path.patch - 103_nxagent_set-X0-config-path.patch - 104_nxagent_enable_debug.patch - 105_nxagent_export-remote-keyboard-config.patch - 106_nxagent_utf8-copy-clipboard.patch - 107_nxagent_clipboard-compound-text+small-bed-sheets.patch - 108_nxagent_wine-close-delay.patch - 109_nxagent_locale-utf8-compound-text.patch - 200_nxagent_unbrand-agent.patch
Diffstat (limited to 'debian/patches/108_nxagent_wine-close-delay.patch')
-rw-r--r--debian/patches/108_nxagent_wine-close-delay.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/debian/patches/108_nxagent_wine-close-delay.patch b/debian/patches/108_nxagent_wine-close-delay.patch
new file mode 100644
index 000000000..4ea4cd69c
--- /dev/null
+++ b/debian/patches/108_nxagent_wine-close-delay.patch
@@ -0,0 +1,53 @@
+--- a/nxagent/programs/Xserver/hw/nxagent/Window.c
++++ b/nxagent/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.
+ */
+@@ -1640,6 +1648,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
+
+ /*
+@@ -1686,6 +1705,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;