aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/CHANGELOG9
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Events.c56
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Image.c2
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);