diff options
Diffstat (limited to 'debian/patches/0108_nxagent_wine-close-delay.full.patch')
-rw-r--r-- | debian/patches/0108_nxagent_wine-close-delay.full.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/patches/0108_nxagent_wine-close-delay.full.patch b/debian/patches/0108_nxagent_wine-close-delay.full.patch new file mode 100644 index 000000000..7a9c18cf2 --- /dev/null +++ b/debian/patches/0108_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. + */ +@@ -1861,6 +1869,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 + + /* +@@ -1907,6 +1926,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; |