diff options
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/CHANGELOG | 9 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Events.c | 56 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Image.c | 2 |
3 files changed, 15 insertions, 52 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG b/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG index 4d930b9b5..e3b71e645 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG +++ b/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG @@ -1,5 +1,14 @@ ChangeLog: +nxagent-3.2.0-6 + +- Fixed TR05F02063. Ignore ReparentNotify events for non-rootless + sessions. + +- Fixed TR06F02068. Try to pack images only if format is ZPixmap. + +- Don't require reparent on close of NX window. + nxagent-3.2.0-5 - Fixed TR04F02044. Restored the original MakeRootTile() function in diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c index 90fb7641b..b37d81adf 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Events.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c @@ -2261,7 +2261,11 @@ int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result) { pScreen = nxagentScreen(X -> xmap.window); - nxagentMaximizeToFullScreen(pScreen); + XMapRaised(nxagentDisplay, nxagentFullscreenWindow); + + XIconifyWindow(nxagentDisplay, nxagentIconWindow, + DefaultScreen(nxagentDisplay)); + } if (X -> xclient.window == (nxagentOption(Fullscreen) ? @@ -3058,56 +3062,6 @@ int nxagentHandleReparentNotify(XEvent* X) return 1; } - else - { - /* - * This code is supposed to detect if a window manager - * is running but in some cases it may be unreliable. - * Each window manager behaves differently so the check - * can fail for some less common WMs. - */ - - if (!nxagentWMIsRunning && nxagentOption(Fullscreen) && - X -> xreparent.window == nxagentDefaultWindows[pScreen -> myNum]) - { - #ifdef WARNING - fprintf(stderr, "Warning: The agent window was reparented. Is a " - "window manager running?\n"); - #endif - - /* - * If no window manager is running and we are supposed to - * be in fullscreen mode then don't wait for the reparent - * event. We can assume that there is an undetected window - * manager and, as switching to fullscreen could have fail- - * ed, we try it again. - */ - - nxagentSwitchFullscreen(pScreen, True); - - nxagentWMIsRunning = True; - } - else if (nxagentWMIsRunning && X -> xreparent.window == - nxagentDefaultWindows[pScreen -> myNum] && X -> xreparent.parent == - RootWindow(nxagentDisplay, (pScreen -> myNum))) - { - #ifdef WARNING - - fprintf(stderr, "Warning: The agent window has been reparented to the root.\n"); - - fprintf(stderr, "Warning: No window manager seems to be running.\n"); - - #endif - - /* - * The agent window was unexpectedly reparented - * to the root window. We assume that the window - * manager was terminated. - */ - - nxagentWMIsRunning = False; - } - } return 1; } diff --git a/nx-X11/programs/Xserver/hw/nxagent/Image.c b/nx-X11/programs/Xserver/hw/nxagent/Image.c index 5b40f32e9..4e08f6bf1 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Image.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Image.c @@ -1176,7 +1176,7 @@ FIXME: Should use an unpack resource here. */ pack = (nxagentOption(LinkType) != LINK_TYPE_NONE && - packMethod != PACK_NONE && depth > 8); + packMethod != PACK_NONE && depth > 8 && format == ZPixmap); lossless = (packMethod == nxagentPackLossless); |