aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2020-01-06 00:53:06 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2020-01-06 00:53:06 +0100
commit67599026d01692c52276df6ff5e8332d2413c18f (patch)
treeb93b8d6643dd6438f0844d48008d6cb9ffee405f
parent5a8f1e921b4cafedc9efac22d5fbd2ce05e45ba9 (diff)
parentcf8797c3c0e9623e5092a2c9f5ea7cb31bc11657 (diff)
downloadnx-libs-67599026d01692c52276df6ff5e8332d2413c18f.tar.gz
nx-libs-67599026d01692c52276df6ff5e8332d2413c18f.tar.bz2
nx-libs-67599026d01692c52276df6ff5e8332d2413c18f.zip
Merge branch 'uli42-pr/various3' into 3.6.x
Attributes GH PR #880: https://github.com/ArcticaProject/nx-libs/pull/880
-rw-r--r--nx-X11/programs/Xserver/Xext/xf86bigfont.c2
-rw-r--r--nx-X11/programs/Xserver/Xext/xvdisp.c50
-rw-r--r--nx-X11/programs/Xserver/dix/Imakefile7
-rw-r--r--nx-X11/programs/Xserver/dix/devices.c2
-rw-r--r--nx-X11/programs/Xserver/dix/dispatch.c2
-rw-r--r--nx-X11/programs/Xserver/dix/dixfonts.c47
-rw-r--r--nx-X11/programs/Xserver/dix/globals.c1
-rw-r--r--nx-X11/programs/Xserver/dix/main.c3
-rw-r--r--nx-X11/programs/Xserver/dix/property.c8
-rw-r--r--nx-X11/programs/Xserver/dix/xpstubs.c50
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Atoms.c57
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Display.c156
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Error.c43
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Events.c34
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Font.c3
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Handlers.c39
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Image.c11
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Imakefile3
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Init.h2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Keyboard.c4
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Keystroke.c2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c46
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/NXpicture.c5
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/NXproperty.c113
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Options.c8
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Pointer.c18
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Reconnect.c2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Rootless.c2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Screen.c538
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Window.c24
-rw-r--r--nx-X11/programs/Xserver/include/dix.h1
-rw-r--r--nx-X11/programs/Xserver/include/scrnintstr.h2
-rw-r--r--nx-X11/programs/Xserver/include/xkbsrv.h6
-rw-r--r--nx-X11/programs/Xserver/mi/mibstore.c1
-rw-r--r--nx-X11/programs/Xserver/mi/miwideline.c6
-rw-r--r--nx-X11/programs/Xserver/os/WaitFor.c48
-rw-r--r--nx-X11/programs/Xserver/os/access.c62
-rw-r--r--nx-X11/programs/Xserver/os/auth.c3
-rw-r--r--nx-X11/programs/Xserver/os/connection.c144
-rw-r--r--nx-X11/programs/Xserver/os/io.c37
-rw-r--r--nx-X11/programs/Xserver/os/log.c10
-rw-r--r--nx-X11/programs/Xserver/os/osdep.h18
-rw-r--r--nx-X11/programs/Xserver/os/osinit.c11
-rw-r--r--nx-X11/programs/Xserver/os/utils.c68
-rw-r--r--nx-X11/programs/Xserver/os/xdmcp.c12
-rw-r--r--nx-X11/programs/Xserver/xkb/xkbActions.c2
46 files changed, 526 insertions, 1187 deletions
diff --git a/nx-X11/programs/Xserver/Xext/xf86bigfont.c b/nx-X11/programs/Xserver/Xext/xf86bigfont.c
index 08ce9e5d9..352e40261 100644
--- a/nx-X11/programs/Xserver/Xext/xf86bigfont.c
+++ b/nx-X11/programs/Xserver/Xext/xf86bigfont.c
@@ -50,7 +50,7 @@
#ifdef SVR4
#include <sys/sysmacros.h>
#endif
-#if defined(ISC) || defined(__CYGWIN__) || defined(__SCO__)
+#if defined(__CYGWIN__) || defined(__SCO__)
#include <sys/param.h>
#include <sys/sysmacros.h>
#endif
diff --git a/nx-X11/programs/Xserver/Xext/xvdisp.c b/nx-X11/programs/Xserver/Xext/xvdisp.c
index 60239b5e3..84c5defe4 100644
--- a/nx-X11/programs/Xserver/Xext/xvdisp.c
+++ b/nx-X11/programs/Xserver/Xext/xvdisp.c
@@ -387,6 +387,7 @@ ProcXvQueryAdaptors(ClientPtr client)
xvAdaptorInfo ainfo;
xvQueryAdaptorsReply rep;
int totalSize, na, nf;
+ int nameSize;
XvAdaptorPtr pa;
XvFormatPtr pf;
WindowPtr pWin;
@@ -450,12 +451,12 @@ ProcXvQueryAdaptors(ClientPtr client)
ainfo.base_id = pa->base_id;
ainfo.num_ports = pa->nPorts;
ainfo.type = pa->type;
- ainfo.name_size = strlen(pa->name);
+ ainfo.name_size = nameSize = strlen(pa->name);
ainfo.num_formats = pa->nFormats;
_WriteAdaptorInfo(client, &ainfo);
- WriteToClient(client, ainfo.name_size, pa->name);
+ WriteToClient(client, nameSize, pa->name);
nf = pa->nFormats;
pf = pa->pFormats;
@@ -481,6 +482,7 @@ ProcXvQueryEncodings(ClientPtr client)
xvEncodingInfo einfo;
xvQueryEncodingsReply rep;
int totalSize;
+ int nameSize;
XvPortPtr pPort;
int ne;
XvEncodingPtr pe;
@@ -525,13 +527,13 @@ ProcXvQueryEncodings(ClientPtr client)
while (ne--)
{
einfo.encoding = pe->id;
- einfo.name_size = strlen(pe->name);
+ einfo.name_size = nameSize = strlen(pe->name);
einfo.width = pe->width;
einfo.height = pe->height;
einfo.rate.numerator = pe->rate.numerator;
einfo.rate.denominator = pe->rate.denominator;
_WriteEncodingInfo(client, &einfo);
- WriteToClient(client, einfo.name_size, pe->name);
+ WriteToClient(client, nameSize, pe->name);
pe++;
}
@@ -1011,19 +1013,20 @@ ProcXvQueryPortAttributes(ClientPtr client)
rep.num_attributes = pPort->pAdaptor->nAttributes;
rep.text_size = 0;
- for(i = 0, pAtt = pPort->pAdaptor->pAttributes;
- i < rep.num_attributes; i++, pAtt++)
+ for(i = 0, pAtt = pPort->pAdaptor->pAttributes;
+ i < pPort->pAdaptor->nAttributes; i++, pAtt++)
{
rep.text_size += (strlen(pAtt->name) + 1 + 3) & ~3L;
}
- rep.length = (rep.num_attributes * sz_xvAttributeInfo) + rep.text_size;
+ rep.length = (pPort->pAdaptor->nAttributes * sz_xvAttributeInfo)
+ + rep.text_size;
rep.length >>= 2;
_WriteQueryPortAttributesReply(client, &rep);
for(i = 0, pAtt = pPort->pAdaptor->pAttributes;
- i < rep.num_attributes; i++, pAtt++)
+ i < pPort->pAdaptor->nAttributes; i++, pAtt++)
{
size = strlen(pAtt->name) + 1; /* pass the NULL */
Info.flags = pAtt->flags;
@@ -1233,6 +1236,7 @@ ProcXvQueryImageAttributes(ClientPtr client)
XvPortPtr pPort;
int *offsets;
int *pitches;
+ int planeLength;
REQUEST(xvQueryImageAttributesReq);
REQUEST_SIZE_MATCH(xvQueryImageAttributesReq);
@@ -1272,7 +1276,7 @@ ProcXvQueryImageAttributes(ClientPtr client)
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
- rep.length = num_planes << 1;
+ rep.length = planeLength = num_planes << 1;
rep.num_planes = num_planes;
rep.width = width;
rep.height = height;
@@ -1280,8 +1284,8 @@ ProcXvQueryImageAttributes(ClientPtr client)
_WriteQueryImageAttributesReply(client, &rep);
if(client->swapped)
- SwapLongs((CARD32*)offsets, rep.length);
- WriteToClient(client, rep.length << 2, offsets);
+ SwapLongs((CARD32*)offsets, planeLength);
+ WriteToClient(client, planeLength << 2, offsets);
free(offsets);
@@ -1309,13 +1313,13 @@ ProcXvListImageFormats(ClientPtr client)
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
rep.num_formats = pPort->pAdaptor->nImages;
- rep.length = rep.num_formats * sz_xvImageFormatInfo >> 2;
+ rep.length = pPort->pAdaptor->nImages * sz_xvImageFormatInfo >> 2;
_WriteListImageFormatsReply(client, &rep);
pImage = pPort->pAdaptor->pImages;
-
- for(i = 0; i < rep.num_formats; i++, pImage++) {
+
+ for(i = 0; i < pPort->pAdaptor->nImages; i++, pImage++) {
info.id = pImage->id;
info.type = pImage->type;
info.byte_order = pImage->byte_order;
@@ -1642,7 +1646,7 @@ SWriteQueryExtensionReply(
swaps(&rep->version);
swaps(&rep->revision);
- WriteToClient(client, sz_xvQueryExtensionReply, &rep);
+ WriteToClient(client, sz_xvQueryExtensionReply, rep);
return Success;
}
@@ -1656,7 +1660,7 @@ SWriteQueryAdaptorsReply(
swapl(&rep->length);
swaps(&rep->num_adaptors);
- WriteToClient(client, sz_xvQueryAdaptorsReply, &rep);
+ WriteToClient(client, sz_xvQueryAdaptorsReply, rep);
return Success;
}
@@ -1670,7 +1674,7 @@ SWriteQueryEncodingsReply(
swapl(&rep->length);
swaps(&rep->num_encodings);
- WriteToClient(client, sz_xvQueryEncodingsReply, &rep);
+ WriteToClient(client, sz_xvQueryEncodingsReply, rep);
return Success;
}
@@ -1765,7 +1769,7 @@ SWriteGrabPortReply(
swaps(&rep->sequenceNumber);
swapl(&rep->length);
- WriteToClient(client, sz_xvGrabPortReply, &rep);
+ WriteToClient(client, sz_xvGrabPortReply, rep);
return Success;
}
@@ -1779,7 +1783,7 @@ SWriteGetPortAttributeReply(
swapl(&rep->length);
swapl(&rep->value);
- WriteToClient(client, sz_xvGetPortAttributeReply, &rep);
+ WriteToClient(client, sz_xvGetPortAttributeReply, rep);
return Success;
}
@@ -1794,7 +1798,7 @@ SWriteQueryBestSizeReply(
swaps(&rep->actual_width);
swaps(&rep->actual_height);
- WriteToClient(client, sz_xvQueryBestSizeReply, &rep);
+ WriteToClient(client, sz_xvQueryBestSizeReply, rep);
return Success;
}
@@ -1809,7 +1813,7 @@ SWriteQueryPortAttributesReply(
swapl(&rep->num_attributes);
swapl(&rep->text_size);
- WriteToClient(client, sz_xvQueryPortAttributesReply, &rep);
+ WriteToClient(client, sz_xvQueryPortAttributesReply, rep);
return Success;
}
@@ -1826,7 +1830,7 @@ SWriteQueryImageAttributesReply(
swaps(&rep->width);
swaps(&rep->height);
- WriteToClient(client, sz_xvQueryImageAttributesReply, &rep);
+ WriteToClient(client, sz_xvQueryImageAttributesReply, rep);
return Success;
}
@@ -1841,7 +1845,7 @@ SWriteListImageFormatsReply(
swapl(&rep->length);
swapl(&rep->num_formats);
- WriteToClient(client, sz_xvListImageFormatsReply, &rep);
+ WriteToClient(client, sz_xvListImageFormatsReply, rep);
return Success;
}
diff --git a/nx-X11/programs/Xserver/dix/Imakefile b/nx-X11/programs/Xserver/dix/Imakefile
index 3cdcdd9bf..d153805df 100644
--- a/nx-X11/programs/Xserver/dix/Imakefile
+++ b/nx-X11/programs/Xserver/dix/Imakefile
@@ -2,9 +2,6 @@ NULL =
#include <Server.tmpl>
-XPSRC = xpstubs.c
-XPOBJ = xpstubs.o
-
#if !HasFfs
FFS_SRC = ffs.c
FFS_OBJ = ffs.o
@@ -129,8 +126,6 @@ VENDOR_DEFINES = $(VENDOR_STRING) $(VENDOR_RELEASE) $(QUARTZ_DEFINES)
NormalLibraryObjectRule()
NormalLibraryTarget(dix,$(OBJS))
-LintLibraryTarget(dix,$(SRCS) $(XPSRC))
-NormalLintTarget($(SRCS) $(XPSRC))
SpecialCObjectRule(globals,$(ICONFIGFILES),$(SITE_DEFINES) $(EXT_DEFINES))
SpecialCObjectRule(main,$(ICONFIGFILES),$(VENDOR_DEFINES))
@@ -138,6 +133,4 @@ SpecialCObjectRule(pixmap,$(ICONFIGFILES),$(_NOOP_))
SpecialCObjectRule(privates,$(ICONFIGFILES),$(_NOOP_))
SpecialCObjectRule(window,$(ICONFIGFILES),$(QUARTZ_DEFINES))
-NormalLibraryTarget(xpstubs,$(XPOBJ))
-
DependTarget()
diff --git a/nx-X11/programs/Xserver/dix/devices.c b/nx-X11/programs/Xserver/dix/devices.c
index 3dee81a25..37047a2aa 100644
--- a/nx-X11/programs/Xserver/dix/devices.c
+++ b/nx-X11/programs/Xserver/dix/devices.c
@@ -73,8 +73,6 @@ SOFTWARE.
#include "swaprep.h"
#include "dixevents.h"
-extern void XkbFreePrivates(DeviceIntPtr device);
-
DeviceIntPtr
AddInputDevice(DeviceProc deviceProc, Bool autoStart)
{
diff --git a/nx-X11/programs/Xserver/dix/dispatch.c b/nx-X11/programs/Xserver/dix/dispatch.c
index 3ab9b2472..6c18c5b59 100644
--- a/nx-X11/programs/Xserver/dix/dispatch.c
+++ b/nx-X11/programs/Xserver/dix/dispatch.c
@@ -391,7 +391,6 @@ Dispatch(void)
}
isItTimeToYield = FALSE;
- requestingClient = client;
start_tick = SmartScheduleTime;
while (!isItTimeToYield)
{
@@ -447,7 +446,6 @@ Dispatch(void)
client = clients[clientReady[nready]];
if (client)
client->smart_stop_tick = SmartScheduleTime;
- requestingClient = NULL;
}
dispatchException &= ~DE_PRIORITYCHANGE;
}
diff --git a/nx-X11/programs/Xserver/dix/dixfonts.c b/nx-X11/programs/Xserver/dix/dixfonts.c
index b16b6b2e6..f1fa53f69 100644
--- a/nx-X11/programs/Xserver/dix/dixfonts.c
+++ b/nx-X11/programs/Xserver/dix/dixfonts.c
@@ -2178,34 +2178,27 @@ FontResolutionPtr
GetClientResolutions (int *num)
#endif /* HAS_XFONT2 */
{
- if (requestingClient && requestingClient->fontResFunc != NULL &&
- !requestingClient->clientGone)
- {
- return (*requestingClient->fontResFunc)(requestingClient, num);
- }
- else {
- static struct _FontResolution res;
- ScreenPtr pScreen;
+ static struct _FontResolution res;
+ ScreenPtr pScreen;
- pScreen = screenInfo.screens[0];
- res.x_resolution = (pScreen->width * 25.4) / pScreen->mmWidth;
- /*
- * XXX - we'll want this as long as bitmap instances are prevalent
- so that we can match them from scalable fonts
- */
- if (res.x_resolution < 88)
- res.x_resolution = 75;
- else
- res.x_resolution = 100;
- res.y_resolution = (pScreen->height * 25.4) / pScreen->mmHeight;
- if (res.y_resolution < 88)
- res.y_resolution = 75;
- else
- res.y_resolution = 100;
- res.point_size = 120;
- *num = 1;
- return &res;
- }
+ pScreen = screenInfo.screens[0];
+ res.x_resolution = (pScreen->width * 25.4) / pScreen->mmWidth;
+ /*
+ * XXX - we'll want this as long as bitmap instances are prevalent
+ so that we can match them from scalable fonts
+ */
+ if (res.x_resolution < 88)
+ res.x_resolution = 75;
+ else
+ res.x_resolution = 100;
+ res.y_resolution = (pScreen->height * 25.4) / pScreen->mmHeight;
+ if (res.y_resolution < 88)
+ res.y_resolution = 75;
+ else
+ res.y_resolution = 100;
+ res.point_size = 120;
+ *num = 1;
+ return &res;
}
#ifndef HAS_XFONT2
diff --git a/nx-X11/programs/Xserver/dix/globals.c b/nx-X11/programs/Xserver/dix/globals.c
index 8bfd84606..f192cb09c 100644
--- a/nx-X11/programs/Xserver/dix/globals.c
+++ b/nx-X11/programs/Xserver/dix/globals.c
@@ -141,7 +141,6 @@ Bool loadableFonts = FALSE;
CursorPtr rootCursor;
Bool blackRoot=FALSE;
Bool whiteRoot=FALSE;
-ClientPtr requestingClient; /* XXX this should be obsolete now, remove? */
TimeStamp currentTime;
TimeStamp lastDeviceEventTime;
diff --git a/nx-X11/programs/Xserver/dix/main.c b/nx-X11/programs/Xserver/dix/main.c
index d425872df..1ae51fc81 100644
--- a/nx-X11/programs/Xserver/dix/main.c
+++ b/nx-X11/programs/Xserver/dix/main.c
@@ -254,7 +254,6 @@ main(int argc, char *argv[], char *envp[])
SetInputCheck(&alwaysCheckForInput[0], &alwaysCheckForInput[1]);
screenInfo.arraySize = MAXSCREENS;
screenInfo.numScreens = 0;
- screenInfo.numVideoScreens = -1;
InitAtoms();
InitEvents();
@@ -280,8 +279,6 @@ main(int argc, char *argv[], char *envp[])
if (screenInfo.numScreens < 1)
FatalError("no screens found");
- if (screenInfo.numVideoScreens < 0)
- screenInfo.numVideoScreens = screenInfo.numScreens;
InitExtensions(argc, argv);
if (!InitClientPrivates(serverClient))
FatalError("failed to allocate serverClient devprivates");
diff --git a/nx-X11/programs/Xserver/dix/property.c b/nx-X11/programs/Xserver/dix/property.c
index 7f25a5c55..f46b53f7c 100644
--- a/nx-X11/programs/Xserver/dix/property.c
+++ b/nx-X11/programs/Xserver/dix/property.c
@@ -253,11 +253,18 @@ ProcChangeProperty(ClientPtr client)
else
return client->noClientException;
}
+#endif /* NXAGENT_SERVER */
int
+#ifdef NXAGENT_SERVER
+Xorg_ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format,
+ int mode, unsigned long len, void * value,
+ Bool sendevent)
+#else
ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format,
int mode, unsigned long len, void * value,
Bool sendevent)
+#endif
{
PropertyPtr pProp;
int sizeInBytes;
@@ -367,7 +374,6 @@ ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format,
}
return(Success);
}
-#endif /* NXAGENT_SERVER */
int
DeleteProperty(WindowPtr pWin, Atom propName)
diff --git a/nx-X11/programs/Xserver/dix/xpstubs.c b/nx-X11/programs/Xserver/dix/xpstubs.c
deleted file mode 100644
index f8cd207eb..000000000
--- a/nx-X11/programs/Xserver/dix/xpstubs.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright 1996, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-*/
-
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include "misc.h"
-#include <X11/fonts/font.h>
-extern Bool XpClientIsBitmapClient(ClientPtr client);
-extern Bool XpClientIsPrintClient(ClientPtr client, FontPathElementPtr fpe);
-
-Bool
-XpClientIsBitmapClient(
- ClientPtr client)
-{
- return TRUE;
-}
-
-Bool
-XpClientIsPrintClient(
- ClientPtr client,
- FontPathElementPtr fpe)
-{
- return FALSE;
-}
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Atoms.c b/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
index 4e9b7fb1f..af6260d15 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
@@ -75,26 +75,61 @@ Atom nxagentAtoms[NXAGENT_NUMBER_OF_ATOMS];
static char *nxagentAtomNames[NXAGENT_NUMBER_OF_ATOMS + 1] =
{
- "NX_IDENTITY", /* 0 */
- "WM_PROTOCOLS", /* 1 */
- "WM_DELETE_WINDOW", /* 2 */
- "WM_NX_READY", /* 3 */
- "MCOPGLOBALS", /* 4 */
- "NX_CUT_BUFFER_SERVER", /* 5 */
- /* Unfortunately we cannot rename this to NX_SELTRANS_TO_AGENT
+ "NX_IDENTITY", /* 0 */
+ /* NX_IDENTITY was used in earlier nx versions to communicate
+ the version to NXwin. Got dropped between nxagent 1.5.0-45
+ and 1.5.0-112. */
+ "WM_PROTOCOLS", /* 1 */
+ /* standard ICCCM Atom */
+ "WM_DELETE_WINDOW", /* 2 */
+ /* standard ICCCM Atom */
+ "WM_NX_READY", /* 3 */
+ /* nxagent takes the ownership of the selection with this name
+ to signal the nxclient (or any other watching program)
+ it is ready. */
+ "MCOPGLOBALS", /* 4 */
+ /* used for artsd support. */
+ "NX_CUT_BUFFER_SERVER", /* 5 */
+ /* this is the name of a property on nxagent's window on the
+ real X server. This property is used for passing clipboard
+ content from clients of the real X server to nxagent's clients
+
+ Unfortunately we cannot rename this to NX_SELTRANS_TO_AGENT
because nomachine's nxclient is depending on this
selection */
- "TARGETS", /* 6 */
- "TEXT", /* 7 */
- "NX_AGENT_SIGNATURE", /* 8 */
- "NXDARWIN", /* 9 */
+
+ "TARGETS", /* 6 */
+ /* used to request a list of supported data formats from the
+ selection owner. Standard ICCCM Atom */
+ "TEXT", /* 7 */
+ /* one of the supported data formats for selections. Standard
+ ICCCM Atom */
+ "NX_AGENT_SIGNATURE", /* 8 */
+ /* this is used to set a property on nxagent's window if nxagent
+ is started with the fullscreen option set. Unsure, what this
+ is used for. */
+ "NXDARWIN", /* 9 */
+ /* this was an Atom in nxdarwin, nomachine's X server for MacOS. */
"CLIPBOARD", /* 10 */
+ /* Atom for the clipboard selection. PRIMARY is fixed in X11 but
+ CLIPBOARD is not. Standard ICCCM Atom. */
"TIMESTAMP", /* 11 */
+ /* used to request the time a selection has been owned. Standard
+ ICCCM Atom */
"UTF8_STRING", /* 12 */
+ /* one of the supported data formats for selections. Standard
+ ICCCM Atom */
"_NET_WM_STATE", /* 13 */
+ /* standard ICCCM Atom */
"_NET_WM_STATE_FULLSCREEN", /* 14 */
+ /* standard ICCCM Atom */
"NX_SELTRANS_FROM_AGENT", /* 15 */
+ /* this is the name of a property on nxagent's window on the real
+ X server. This property is used for passing clipboard content
+ from nxagent's clients to clients on the real X server */
"COMPOUND_TEXT", /* 16 */
+ /* one of the supported data formats for selections. Standard
+ ICCCM Atom */
NULL,
NULL
};
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c
index a93fd2418..dad6bfb2b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
@@ -561,11 +561,6 @@ static void nxagentSigchldHandler(int signal)
Display *nxagentInternalOpenDisplay(char *display)
{
- struct sigaction oldAction;
- struct sigaction newAction;
-
- int result;
-
/*
* Stop the smart schedule timer since it uses SIGALRM as we do.
*/
@@ -583,12 +578,17 @@ FIXME: Should print a warning if the user tries to let the agent
explanation for the error to the user.
*/
- newAction.sa_handler = nxagentRejectConnection;
+ struct sigaction newAction = {
+ .sa_handler = nxagentRejectConnection
+ };
sigfillset(&newAction.sa_mask);
newAction.sa_flags = 0;
+ int result;
+ struct sigaction oldAction;
+
while (((result = sigaction(SIGALRM, &newAction,
&oldAction)) == -1) && (errno == EINTR));
@@ -754,6 +754,20 @@ static void nxagentDisplayFlushHandler(Display *display, int length)
}
}
+/*
+ * From the changelog for nx-X11-3.0.0-4:
+ * "Added the _NXDisplayErrorPredicate function in XlibInt.c. It is
+ * actually a pointer to a function called whenever Xlib is going to
+ * perform a network operation. If the function returns true, the
+ * call will be aborted and Xlib will return the control to the ap-
+ * plication. It is up to the application to set the XlibDisplayIO-
+ * Error flag after the _NXDisplayErrorPredicate returns true. The
+ * function can be used to activate additional checks, besides the
+ * normal failures detected by Xlib on the display socket. For exam-
+ * ple, the application can set the funciton to verify if an inter-
+ * rupt was received or if any other event occurred mandating the
+ + end of the session."
+ */
static int nxagentDisplayErrorPredicate(Display *display, int error)
{
#ifdef TEST
@@ -925,8 +939,6 @@ void nxagentInstallSignalHandlers(void)
struct sigaction newAction;
- int result;
-
/*
* By default nxcomp installs its signal handlers. We need to
* ensure that SIGUSR1 and SIGUSR2 are ignored if the NX transport
@@ -939,6 +951,8 @@ void nxagentInstallSignalHandlers(void)
newAction.sa_flags = 0;
+ int result;
+
while (((result = sigaction(SIGUSR1, &newAction,
NULL)) == -1) && (errno == EINTR));
@@ -1054,12 +1068,6 @@ void nxagentPostInstallSignalHandlers(void)
void nxagentResetSignalHandlers(void)
{
- struct sigaction newAction;
-
- int result;
-
- memset(&newAction, 0, sizeof(newAction));
-
/*
* Reset the signal handlers to a well known state.
*/
@@ -1074,10 +1082,13 @@ void nxagentResetSignalHandlers(void)
nxagentStopTimer();
- newAction.sa_handler = SIG_DFL;
+ struct sigaction newAction = {
+ .sa_handler = SIG_DFL
+ };
sigfillset(&newAction.sa_mask);
+ int result;
while (((result = sigaction(SIGALRM, &newAction,
NULL)) == -1) && (errno == EINTR));
@@ -1091,7 +1102,6 @@ void nxagentResetSignalHandlers(void)
*/
nxagentInitTimer();
-
}
void nxagentOpenDisplay(int argc, char *argv[])
@@ -1100,12 +1110,9 @@ void nxagentOpenDisplay(int argc, char *argv[])
return;
#ifdef NXAGENT_TIMESTAMP
-
startTime = GetTimeInMillis();
-
fprintf(stderr, "Display: Opening the display on real X server with time [%d] ms.\n",
GetTimeInMillis() - startTime);
-
#endif
/*
@@ -1175,10 +1182,8 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
#endif
#ifdef NXAGENT_TIMESTAMP
-
fprintf(stderr, "Display: Display on real X server opened with time [%d] ms.\n",
GetTimeInMillis() - startTime);
-
#endif
nxagentUseNXTrans =
@@ -1397,10 +1402,8 @@ N/A
#endif
#ifdef NXAGENT_TIMESTAMP
-
fprintf(stderr, "Display: Open of the display finished with time [%d] ms.\n",
GetTimeInMillis() - startTime);
-
#endif
if (nxagentOption(Persistent))
@@ -1435,10 +1438,11 @@ void nxagentSetDefaultVisual(void)
}
else
{
- XVisualInfo vi = {0};
+ XVisualInfo vi = {
+ .visualid = XVisualIDFromVisual(DefaultVisual(nxagentDisplay,
+ DefaultScreen(nxagentDisplay)))
+ };
- vi.visualid = XVisualIDFromVisual(DefaultVisual(nxagentDisplay,
- DefaultScreen(nxagentDisplay)));
nxagentDefaultVisualIndex = 0;
for (int i = 0; i < nxagentNumVisuals; i++)
@@ -1453,14 +1457,13 @@ void nxagentSetDefaultVisual(void)
void nxagentInitVisuals(void)
{
+ long mask = VisualScreenMask;
XVisualInfo vi = {
.screen = DefaultScreen(nxagentDisplay),
- .depth = DefaultDepth(nxagentDisplay, DefaultScreen(nxagentDisplay)),
+ .depth = DefaultDepth(nxagentDisplay, DefaultScreen(nxagentDisplay))
};
- long mask = VisualScreenMask;
int viNumList;
XVisualInfo *viList = XGetVisualInfo(nxagentDisplay, mask, &vi, &viNumList);
-
nxagentVisuals = (XVisualInfo *) malloc(viNumList * sizeof(XVisualInfo));
nxagentNumVisuals = 0;
@@ -1566,7 +1569,6 @@ XXX: Some X server doesn't list 1 among available depths...
if (nxagentDepths[j] == i)
{
depth = i;
-
break;
}
}
@@ -1744,7 +1746,6 @@ FIXME: Is this needed?
nxagentDisplay = NULL;
}
-
Bool nxagentMakeIcon(Display *display, Pixmap *nxIcon, Pixmap *nxMask)
{
char** agentIconData;
@@ -1752,7 +1753,7 @@ Bool nxagentMakeIcon(Display *display, Pixmap *nxIcon, Pixmap *nxMask)
/*
* selecting x2go icon when running as X2Go agent
*/
- if(nxagentX2go)
+ if (nxagentX2go)
{
agentIconData = x2goagentIconData;
}
@@ -1778,8 +1779,7 @@ Bool nxagentMakeIcon(Display *display, Pixmap *nxIcon, Pixmap *nxMask)
else
{
#ifdef TEST
- fprintf(stderr, "%s: Xpm operation failed with error '%s'.\n", __func__,
- XpmGetErrorString(status));
+ fprintf(stderr, "%s: Xpm operation failed.\n", __func__);
#endif
return False;
@@ -1911,14 +1911,15 @@ static int nxagentCheckForDefaultDepthCompatibility(void)
/*
* Depending on the (reconnect) tolerance checks value, this
* function checks stricter or looser:
- * - Strict means that the old and new default depth values must
- * match exactly.
- * - Safe or Risky means that the default depth values might
- * differ, but the new default depth value must be at least as
- * high as the former default depth value. This is recommended,
- * because it allows clients with a higher default depth value
- * to still connect, but not lose functionality.
- * - Bypass means that all of these checks are essentially
+ * - "Strict" means that the old and new default depth values
+ * must match exactly.
+ * - "Safe" or "Risky" means that the default depth values might differ,
+ * but the new default depth value must be at least as
+ * high as the former default depth value. This is
+ * recommended, because it allows clients with a
+ * higher default depth value to still connect, but
+ * not lose functionality.
+ * - "Bypass" means that all of these checks are essentially
* deactivated. This is probably a very bad idea.
*/
@@ -1970,17 +1971,19 @@ static int nxagentCheckForDepthsCompatibility(void)
/*
* Depending on the (reconnect) tolerance checks value, this
* function checks stricter or looser:
- * - Strict means that the number of old and new depths must match
- * exactly and every old depth value must be available in the
- * new depth array.
- * - Safe means that the number of depths might diverge, but all
- * former depth must also be included in the new depth
- * array. This is recommended, because it allows clients with
- * more depths to still connect, but not lose functionality.
- * - Risky means that the new depths array is allowed to be
- * smaller than the old depths array, but at least one depth
- * value must be included in both. This is potentially unsafe.
- * - Bypass or higher means that all of these checks are
+ * - "Strict" means that the number of old and new depths must
+ * match exactly and every old depth value must be
+ * available in the new depth array.
+ * - "Safe" means that the number of depths might diverge,
+ * but all former depth must also be included in the
+ * new depth array. This is recommended, because
+ * it allows clients with more depths to still
+ * connect, but not lose functionality.
+ * - "Risky" means that the new depths array is allowed to be
+ * smaller than the old depths array, but at least
+ * one depth value must be included in both.
+ * This is potentially unsafe.
+ * - "Bypass" or higher means that all of these checks are
* essentially deactivated. This is a very bad idea.
*/
@@ -2021,12 +2024,12 @@ static int nxagentCheckForDepthsCompatibility(void)
/*
* By now the tolerance is either:
- * - Strict and both depth numbers match
- * - Safe and:
+ * - "Strict" and both depth numbers match
+ * - "Safe" and:
* o the number of old and new depths matches exactly, or
* o the number of old depths is lower than the number
* of new depths
- * - Risky
+ * - "Risky"
*/
bool compatible = true;
@@ -2122,19 +2125,21 @@ static int nxagentCheckForPixmapFormatsCompatibility(void)
/*
* Depending on the (reconnect) tolerance checks value, this
* function checks stricter or looser:
- * - Strict means that the number of internal and external pixmap
- * formats must match exactly and every internal pixmap format
- * must be available in the external pixmap format array.
- * - Safe means that the number of pixmap formats might diverge,
- * but all internal pixmap formats must also be included in the
- * external pixmap formats array. This is recommended, because
- * it allows clients with more pixmap formats to still connect,
+ * - "Strict" means that the number of internal and external
+ * pixmap formats must match exactly and every
+ * internal pixmap format must be available in the
+ * external pixmap format array.
+ * - "Safe" means that the number of pixmap formats might
+ * diverge, but all internal pixmap formats must
+ * also be included in the external pixmap formats
+ * array. This is recommended, because it allows
+ * clients with more pixmap formats to still connect,
* but not lose functionality.
- * - Risky means that the internal pixmap formats array is allowed
- * to be smaller than the external pixmap formats array, but at
- * least one pixmap format must be included in both. This is
- * potentially unsafe.
- * - Bypass or higher means that all of these checks are
+ * - "Risky" means that the internal pixmap formats array is
+ * allowed to be smaller than the external pixmap
+ * formats array, but at least one pixmap format must
+ * be included in both. This is potentially unsafe.
+ * - "Bypass" or higher means that all of these checks are
* essentially deactivated. This is a very bad idea.
*/
@@ -2173,13 +2178,13 @@ static int nxagentCheckForPixmapFormatsCompatibility(void)
/*
* By now the tolerance is either:
- * - Strict
- * - Safe and:
+ * - "Strict"
+ * - "Safe" and:
* o the number of internal and external pixmap formats
* matches exactly, or
* o the number of external pixmap formats is higher than
* the number of internal pixmap formats,
- * - Risky
+ * - "Risky"
*/
bool compatible = true;
@@ -2250,6 +2255,9 @@ static int nxagentInitAndCheckVisuals(int flexibility)
{
/* FIXME: does this also need work? */
+ bool matched;
+ bool compatible = true;
+
long viMask = VisualScreenMask;
XVisualInfo viTemplate = {
.screen = DefaultScreen(nxagentDisplay),
@@ -2260,8 +2268,6 @@ static int nxagentInitAndCheckVisuals(int flexibility)
XVisualInfo *newVisuals = malloc(sizeof(XVisualInfo) * nxagentNumVisuals);
- bool compatible = true;
-
for (int i = 0; i < nxagentNumVisuals; i++)
{
bool matched = false;
@@ -2473,7 +2479,7 @@ Bool nxagentReconnectDisplay(void *p0)
nxagentNumDefaultColormaps = nxagentNumVisuals;
nxagentDefaultColormaps = (Colormap *) realloc(nxagentDefaultColormaps,
- nxagentNumDefaultColormaps * sizeof(Colormap));
+ nxagentNumDefaultColormaps * sizeof(Colormap));
if (nxagentDefaultColormaps == NULL)
{
@@ -2603,7 +2609,7 @@ Bool nxagentReconnectDisplay(void *p0)
useXpmIcon = nxagentMakeIcon(nxagentDisplay, &nxagentIconPixmap, &nxagentIconShape);
/*
- * All went fine. We can continue handling our clients.
+ * Everything went fine. We can continue handling our clients.
*/
reconnectDisplayState = EVERYTHING_DONE;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Error.c b/nx-X11/programs/Xserver/hw/nxagent/Error.c
index ab8da2db4..add5fae85 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Error.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Error.c
@@ -114,10 +114,11 @@ int nxagentErrorHandler(Display *dpy, XErrorEvent *event)
return 0;
}
-/* copied from XlibInt.c */
-/* extension stuff roughly commented out */
-/* FIXME: why? What's wrong with printing extension stuff?
- We could drop this in favour of _XprintDefaultError then! */
+/* copied from XlibInt.c:_XprintDefaultError
+ * We cannot use the whole function because it requires XlibInt
+ * internals. And we cannot call _XPrintDefaultError because it
+ * is not exported.
+ */
static int nxagentPrintError(dpy, event, fp)
Display *dpy;
XErrorEvent *event;
@@ -126,11 +127,11 @@ static int nxagentPrintError(dpy, event, fp)
char buffer[BUFSIZ];
char mesg[BUFSIZ];
char number[32];
- char *mtype = "XlibMessage";
- /*
+ const char *mtype = "XlibMessage";
+#ifndef NXAGENT_SERVER
register _XExtension *ext = (_XExtension *)NULL;
_XExtension *bext = (_XExtension *)NULL;
- */
+#endif
XGetErrorText(dpy, event->error_code, buffer, BUFSIZ);
XGetErrorDatabaseText(dpy, mtype, "XError", "X Error", mesg, BUFSIZ);
(void) fprintf(fp, "%s: %s\n ", mesg, buffer);
@@ -141,14 +142,16 @@ static int nxagentPrintError(dpy, event, fp)
snprintf(number, sizeof(number), "%d", event->request_code);
XGetErrorDatabaseText(dpy, "XRequest", number, "", buffer, BUFSIZ);
} else {
- /* for (ext = dpy->ext_procs;
+#ifndef NXAGENT_SERVER
+ for (ext = dpy->ext_procs;
ext && (ext->codes.major_opcode != event->request_code);
ext = ext->next)
;
- if (ext)
+ if (ext) {
strncpy(buffer, ext->name, BUFSIZ);
- else
- */
+ buffer[BUFSIZ - 1] = '\0';
+ } else
+#endif
buffer[0] = '\0';
}
(void) fprintf(fp, " (%s)\n", buffer);
@@ -157,19 +160,19 @@ static int nxagentPrintError(dpy, event, fp)
mesg, BUFSIZ);
fputs(" ", fp);
(void) fprintf(fp, mesg, event->minor_code);
- /*
+#ifndef NXAGENT_SERVER
if (ext) {
snprintf(mesg, sizeof(mesg), "%s.%d", ext->name, event->minor_code);
XGetErrorDatabaseText(dpy, "XRequest", mesg, "", buffer, BUFSIZ);
(void) fprintf(fp, " (%s)", buffer);
}
- */
+#endif
fputs("\n", fp);
}
if (event->error_code >= 128) {
/* kludge, try to find the extension that caused it */
buffer[0] = '\0';
- /*
+#ifndef NXAGENT_SERVER
for (ext = dpy->ext_procs; ext; ext = ext->next) {
if (ext->error_string)
(*ext->error_string)(dpy, event->error_code, &ext->codes,
@@ -187,7 +190,7 @@ static int nxagentPrintError(dpy, event, fp)
snprintf(buffer, sizeof(buffer), "%s.%d", bext->name,
event->error_code - bext->codes.first_error);
else
- */
+#endif
strcpy(buffer, "Value");
XGetErrorDatabaseText(dpy, mtype, buffer, "", mesg, BUFSIZ);
if (mesg[0]) {
@@ -196,12 +199,12 @@ static int nxagentPrintError(dpy, event, fp)
fputs("\n", fp);
}
/* let extensions try to print the values */
- /*
+#ifndef NXAGENT_SERVER
for (ext = dpy->ext_procs; ext; ext = ext->next) {
if (ext->error_values)
(*ext->error_values)(dpy, event, fp);
}
- */
+#endif
} else if ((event->error_code == BadWindow) ||
(event->error_code == BadPixmap) ||
(event->error_code == BadCursor) ||
@@ -229,10 +232,12 @@ static int nxagentPrintError(dpy, event, fp)
mesg, BUFSIZ);
fputs(" ", fp);
(void) fprintf(fp, mesg, event->serial);
- /* XGetErrorDatabaseText(dpy, mtype, "CurrentSerial", "Current Serial #%d",
+#ifndef NXAGENT_SERVER
+ XGetErrorDatabaseText(dpy, mtype, "CurrentSerial", "Current Serial #%d",
mesg, BUFSIZ);
fputs("\n ", fp);
- (void) fprintf(fp, mesg, dpy->request); */
+ (void) fprintf(fp, mesg, (unsigned long long)(X_DPY_GET_REQUEST(dpy)));
+#endif
fputs("\n", fp);
if (event->error_code == BadImplementation) return 0;
return 1;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c
index b9d3a9238..597359cf1 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Events.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c
@@ -2197,7 +2197,7 @@ FIXME: Don't enqueue the KeyRelease event if the key was not already
{
if (nxagentOption(AllScreens) == 0 && nxagentOption(Fullscreen) == 1)
{
- nxagentSwitchFullscreen(pScreen, 0);
+ nxagentSwitchFullscreen(pScreen, False);
}
else
{
@@ -2578,11 +2578,6 @@ int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result)
{
*result = doNothing;
- #ifdef TEST
- fprintf(stderr, "%s: ClientMessage event window [%ld] with type [%ld] format [%d].\n",
- __func__, X -> xclient.window, X -> xclient.message_type, X -> xclient.format);
- #endif
-
/*
* If window is 0, message_type is 0 and format is 32 then we assume
* event is coming from proxy.
@@ -2592,11 +2587,25 @@ int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result)
X -> xclient.message_type == 0 &&
X -> xclient.format == 32)
{
+ #ifdef TEST
+ fprintf(stderr, "%s: got nxproxy event\n", __func__);
+ #endif
nxagentHandleProxyEvent(X);
return 1;
}
+ #ifdef TEST
+ char * name = XGetAtomName(nxagentDisplay, X -> xclient.message_type);
+ fprintf(stderr, "nxagentHandleClientMessageEvent: ClientMessage event window [0x%lx] with "
+ "message_type [%ld][%s] format [%d] type [%d] source_indication [%ld][%s] timestamp [%ld] "
+ "curwin [0x%lx].\n", X -> xclient.window, X -> xclient.message_type, name,
+ X -> xclient.format, X -> xclient.type, X -> xclient.data.l[0],
+ X -> xclient.data.l[0] == 1 ? "'application'" : X -> xclient.data.l[0] == 1 ? "'pager'" : "'none (old spec)'",
+ X -> xclient.data.l[1], X -> xclient.data.l[2]);
+ SAFE_XFree(name);
+ #endif
+
if (nxagentOption(Rootless))
{
Atom message_type = nxagentRemoteToLocalAtom(X -> xclient.message_type);
@@ -2611,11 +2620,20 @@ int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result)
}
WindowPtr pWin = nxagentWindowPtr(X -> xclient.window);
-
if (pWin == NULL)
{
+ /*
+ * If some window on the real X server sends a
+ * _NET_ACTIVE_WINDOW ClientMessage to indicate the active
+ * window that window will be one not belonging to nxagent so
+ * this situation is perfectly legal. For all other situations
+ * we print a warning.
+ */
#ifdef WARNING
- fprintf(stderr, "WARNING: Invalid window in ClientMessage.\n");
+ if (message_type != MakeAtom("_NET_ACTIVE_WINDOW", strlen("_NET_ACTIVE_WINDOW"), False))
+ {
+ fprintf(stderr, "WARNING: Invalid window in ClientMessage xclient.window [0x%lx].\n", X->xclient.window);
+ }
#endif
return 0;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Font.c b/nx-X11/programs/Xserver/hw/nxagent/Font.c
index 93fb93295..ddae19cf0 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Font.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Font.c
@@ -469,9 +469,6 @@ Bool nxagentRealizeFont(ScreenPtr pScreen, FontPtr pFont)
FontSetPrivate(pFont, nxagentFontPrivateIndex, NULL);
#endif /* HAS_XFONT2 */
- if (requestingClient && XpClientIsPrintClient(requestingClient, NULL))
- return True;
-
name_atom = MakeAtom("FONT", 4, True);
value_atom = 0L;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Handlers.c b/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
index f1455b935..559eae719 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
@@ -726,8 +726,6 @@ void nxagentShadowBlockHandler(void * data, struct timeval **timeout, void * mas
}
#endif
- #ifndef __CYGWIN32__
-
if (nxagentReadEvents(nxagentDisplay) > 0 ||
nxagentReadEvents(nxagentShadowDisplay) > 0)
{
@@ -745,19 +743,6 @@ void nxagentShadowBlockHandler(void * data, struct timeval **timeout, void * mas
nxagentShadowAdaptToRatio();
}
- #else
-
- if (nxagentReadEvents(nxagentDisplay) > 0)
- {
- #ifdef TEST
- fprintf(stderr, "nxagentShadowBlockHandler: Reading X events queued.\n");
- #endif
-
- nxagentDispatchEvents(NULL);
- }
-
- #endif
-
changed = 0;
NXShadowGetScreenSize(&width_, &height_);
@@ -800,26 +785,6 @@ FIXME: Must queue multiple writes and handle the events by resembling
*timeout = &zero;
}
- #ifdef __CYGWIN32__
-
- if (nxagentOption(SleepTime) > 0) {
-#ifdef TEST
- fprintf(stderr, "nxagentShadowBlockHandler: sleeping for %d milliseconds for slowdown.\n",
- nxagentOption(SleepTime));
-#endif
- usleep(nxagentOption(SleepTime) * 1000);
- }
-#ifdef TEST
- else if (0 == nxagentOption(SleepTime)) {
- fprintf(stderr, "nxagentShadowBlockHandler: not sleeping for slowdown.\n");
- }
-#endif
-
- (*timeout) -> tv_sec = 0;
- (*timeout) -> tv_usec = 50 * 1000;
-
- #else
-
if (changed == 0)
{
(*timeout) -> tv_sec = 0;
@@ -831,8 +796,6 @@ FIXME: Must queue multiple writes and handle the events by resembling
(*timeout) -> tv_usec = 0;
}
- #endif
-
nxagentPrintGeometry();
#ifdef BLOCKS
@@ -857,7 +820,6 @@ void nxagentShadowWakeupHandler(void * data, int count, void * mask)
if (!SmartScheduleSignalEnable)
{
-
#ifdef DEBUG
fprintf(stderr, "nxagentShadowWakeupHandler: Resetting the dispatch state after wakeup.\n");
#endif
@@ -866,7 +828,6 @@ void nxagentShadowWakeupHandler(void * data, int count, void * mask)
nxagentDispatch.in = nxagentBytesIn;
nxagentDispatch.out = nxagentBytesOut;
-
}
/*
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Image.c b/nx-X11/programs/Xserver/hw/nxagent/Image.c
index 34d5cf9f9..9e50b5d60 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Image.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Image.c
@@ -99,6 +99,7 @@ extern void nxagentBitOrderInvert(unsigned char *, int);
extern void nxagentTwoByteSwap(unsigned char *, register int);
extern void nxagentFourByteSwap(register unsigned char *, register int);
+extern ClientPtr nxagentRequestingClient;
/*
* Store the last visual used to unpack the images for the given
* client.
@@ -140,9 +141,7 @@ static char *nxagentImageCopy(XImage *source, XImage *destination);
* expensive than a copy.
*/
-#define nxagentNeedCache(image, method) \
-\
- ((method) != PACK_BITMAP_16M_COLORS)
+#define nxagentNeedCache(image, method) ((method) != PACK_BITMAP_16M_COLORS)
/*
* With the bitmap encoding, if the image is 32 bits-per-pixel the 4th
@@ -276,6 +275,7 @@ int nxagentImagePad(int width, int format, int leftPad, int depth)
else if (format == XYPixmap)
{
line = BitmapBytePad(width + leftPad);
+ /* FIXME: shouldn't we multiply by depth here like in nxagentImageLength? */
}
else if (format == ZPixmap)
{
@@ -1074,7 +1074,7 @@ void nxagentPutSubImage(DrawablePtr pDrawable, GCPtr pGC, int depth,
/*
FIXME: Should use an unpack resource here.
*/
- client = requestingClient;
+ client = nxagentRequestingClient;
if (client == NULL)
{
@@ -1093,7 +1093,7 @@ FIXME: Should use an unpack resource here.
#ifdef TEST
fprintf(stderr, "nxagentPutSubImage: Display image order is [%d] bitmap order is [%d].\n",
- ImageByteOrder(nxagentDisplay), nxagentBitmapBitOrder(nxagentDisplay));
+ ImageByteOrder(nxagentDisplay), BitmapBitOrder(nxagentDisplay));
#endif
/*
@@ -1559,7 +1559,6 @@ int nxagentScaleImage(int x, int y, unsigned xRatio, unsigned yRatio,
XImage **pImage, int *scaledx, int *scaledy)
{
XImage *image = *pImage;
-
if (image == NULL)
{
return 0;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Imakefile b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
index b6a343e68..e37f97e84 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Imakefile
+++ b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
@@ -59,7 +59,6 @@ SRCS = \
Composite.c \
Pixels.c \
stubs.c \
- xpstubs.c \
miinitext.c \
$(NULL)
@@ -116,7 +115,6 @@ OBJS = \
Composite.o \
Pixels.o \
stubs.o \
- xpstubs.o \
miinitext.o \
$(NULL)
@@ -264,7 +262,6 @@ DEFINES = \
all:: $(OBJS)
LinkSourceFile(stubs.c,$(SERVERSRC)/Xi)
-LinkSourceFile(xpstubs.c,$(SERVERSRC)/dix)
LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
SpecialCObjectRule(miinitext,$(ICONFIGFILES), $(_NOOP_))
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Init.h b/nx-X11/programs/Xserver/hw/nxagent/Init.h
index 1bea17600..246f600cf 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.h
@@ -45,7 +45,7 @@ extern int nxagentDoFullGeneration;
extern int nxagentBackingStore;
extern int nxagentSaveUnder;
-extern int nxagentX2go;
+extern int nxagentX2go;
void checkX2goAgent(void);
extern ServerGrabInfoRec nxagentGrabServerInfo;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
index 695fce40d..950aec839 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
@@ -567,7 +567,7 @@ XkbError:
if (nxagentKeyboard[i] == '\0' || nxagentKeyboard[i + 1] == '\0' || i == 0)
{
- ErrorF("Warning: Wrong keyboard type: %s.\n", nxagentKeyboard);
+ ErrorF("Warning: Wrong keyboard type: '%s'.\n", nxagentKeyboard);
goto XkbError;
}
@@ -1466,7 +1466,7 @@ static void nxagentWriteKeyboardDir(void)
if (keyboard_file_path)
{
/*
- * special case: if rules is NULL create a directory insteas of
+ * special case: if rules is NULL create a directory instead of
* a file. This is the defined method to disable x2gosetkeyboard.
*/
if (mkdir(keyboard_file_path, 0555) < 0)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
index b6d8f5817..ea139b10f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
@@ -432,7 +432,7 @@ void nxagentDumpKeystrokes(void)
{
int maxlen = 0;
for (int i = 0; nxagentSpecialKeystrokeNames[i]; i++)
- maxlen = min(maxlen, strlen(nxagentSpecialKeystrokeNames[i]));
+ maxlen = max(maxlen, strlen(nxagentSpecialKeystrokeNames[i]));
fprintf(stderr, "Currently known keystrokes:\n");
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
index 00fb4ddd8..e804acbd2 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
@@ -200,6 +200,12 @@ extern int nxagentMaxSelections;
extern int nxOpenFont(ClientPtr, XID, Mask, unsigned, char*);
+
+/*
+ * This used to be a dix variable used only by XPRINT, so xorg dropped it.
+ */
+ClientPtr nxagentRequestingClient;
+
void
InitSelections(void)
{
@@ -245,6 +251,7 @@ Dispatch(void)
InitSelections();
nClients = 0;
+#ifdef NXAGENT_SERVER
/*
* The agent initialization was successfully
* completed. We can now handle our clients.
@@ -269,10 +276,12 @@ Dispatch(void)
#endif
+#endif /* NXAGENT_SERVER */
clientReady = (int *) malloc(sizeof(int) * MaxClients);
if (!clientReady)
return;
+#ifdef NXAGENT_SERVER
#ifdef WATCH
fprintf(stderr, "Dispatch: Watchpoint 12.\n");
@@ -303,6 +312,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
if (!(dispatchException & DE_TERMINATE))
dispatchException = 0;
+#endif /* NXAGENT_SERVER */
while (!dispatchException)
{
@@ -312,6 +322,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
FlushIfCriticalOutputPending();
}
+#ifdef NXAGENT_SERVER
/*
* Ensure we remove the splash after the timeout.
* Initializing clientReady[0] to -1 will tell
@@ -351,9 +362,11 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
#ifdef BLOCKS
fprintf(stderr, "[End dispatch]\n");
#endif
+#endif /* NXAGENT_SERVER */
nready = WaitForSomething(clientReady);
+#ifdef NXAGENT_SERVER
#ifdef BLOCKS
fprintf(stderr, "[Begin dispatch]\n");
#endif
@@ -378,6 +391,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
nxagentClients = nClients;
#endif
+#endif /* NXAGENT_SERVER */
if (nready)
{
@@ -405,7 +419,9 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
}
isItTimeToYield = FALSE;
- requestingClient = client;
+#ifdef NXAGENT_SERVER
+ nxagentRequestingClient = client;
+#endif
start_tick = SmartScheduleTime;
while (!isItTimeToYield)
{
@@ -423,10 +439,15 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
}
/* now, finally, deal with client requests */
+ /* Update currentTime so request time checks, such as for input
+ * device grabs, are calculated correctly */
+ UpdateCurrentTimeIf();
+#ifdef NXAGENT_SERVER
#ifdef TEST
fprintf(stderr, "******Dispatch: Reading request from client [%d].\n",
client->index);
#endif
+#endif /* NXAGENT_SERVER */
result = ReadRequestFromClient(client);
if (result <= 0)
@@ -435,8 +456,8 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
CloseDownClient(client);
break;
}
-#ifdef NXAGENT_SERVER
+#ifdef NXAGENT_SERVER
#ifdef TEST
else
@@ -463,10 +484,9 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
if (result > (maxBigRequestSize << 2))
result = BadLength;
else
-#ifdef NXAGENT_SERVER
{
result = (* client->requestVector[MAJOROP])(client);
-
+#ifdef NXAGENT_SERVER
#ifdef TEST
if (MAJOROP > 127)
@@ -492,11 +512,8 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
*/
nxagentDispatchHandler(client, client->req_len << 2, 0);
- }
-#else
- result = (* client->requestVector[MAJOROP])(client);
#endif
-
+ }
if (!SmartScheduleSignalEnable)
SmartScheduleTime = GetTimeInMillis();
@@ -519,13 +536,17 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
client = clients[clientReady[nready]];
if (client)
client->smart_stop_tick = SmartScheduleTime;
- requestingClient = NULL;
+#ifdef NXAGENT_SERVER
+ nxagentRequestingClient = NULL;
+#endif
}
dispatchException &= ~DE_PRIORITYCHANGE;
}
#if defined(DDXBEFORERESET)
ddxBeforeReset ();
#endif
+
+#ifdef NXAGENT_SERVER
/* FIXME: maybe move the code up to the KillAllClients() call to ddxBeforeReset? */
if ((dispatchException & DE_RESET) &&
(serverGeneration > nxagentMaxAllowedResets))
@@ -559,6 +580,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio
NXShadowDestroy();
}
saveAgentState("TERMINATED");
+#endif /* NXAGENT_SERVER */
KillAllClients();
free(clientReady);
@@ -580,7 +602,9 @@ ProcReparentWindow(register ClientPtr client)
if (!pWin)
return(BadWindow);
+#ifdef NXAGENT_SERVER
nxagentRemoveSplashWindow();
+#endif
pParent = (WindowPtr)SecurityLookupWindow(stuff->parent, client,
DixWriteAccess);
@@ -807,7 +831,7 @@ ProcCloseFont(register ClientPtr client)
REQUEST_SIZE_MATCH(xResourceReq);
pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
DixDestroyAccess);
- if (pFont != (FontPtr)NULL)
+ if ( pFont != (FontPtr)NULL) /* id was valid */
{
#ifdef NXAGENT_SERVER
@@ -1140,6 +1164,8 @@ CloseDownClient(register ClientPtr client)
xorg_CloseDownClient(client);
}
+/* FIXME: Instead of having a own function use the provided Callback
+ mechanism */
int
InitClientPrivates(ClientPtr client)
{
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c b/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c
index 7ccc04bc8..159a7b55d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c
@@ -215,7 +215,9 @@ AllocatePicture (ScreenPtr pScreen)
ppriv->ptr = (void *)NULL;
}
+#ifdef NXAGENT_SERVER
nxagentPicturePriv(pPicture) -> picture = 0;
+#endif
return pPicture;
}
@@ -245,13 +247,14 @@ CreatePicture (Picture pid,
pPicture->format = pFormat->format | (pDrawable->bitsPerPixel << 24);
if (pDrawable->type == DRAWABLE_PIXMAP)
{
+#ifdef NXAGENT_SERVER
/*
* Let picture always point to the virtual pixmap.
* For sure this is not the best way to deal with
* the virtual frame-buffer.
*/
pPicture->pDrawable = nxagentVirtualDrawable(pDrawable);
-
+#endif
++((PixmapPtr)pDrawable)->refcnt;
pPicture->pNext = 0;
}
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c
index cc10ad760..dc2f5b07f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c
@@ -215,16 +215,9 @@ ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format,
int mode, unsigned long len, void * value,
Bool sendevent)
{
- PropertyPtr pProp;
- int sizeInBytes;
- int totalSize;
- void * data;
- int copySize;
-
- sizeInBytes = format>>3;
- totalSize = len * sizeInBytes;
-
- copySize = nxagentOption(CopyBufferSize);
+ int sizeInBytes = format>>3;
+ int totalSize = len * sizeInBytes;
+ int copySize = nxagentOption(CopyBufferSize);
if (copySize != COPY_UNLIMITED && property == clientCutProperty)
{
@@ -236,105 +229,7 @@ ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format,
}
}
- /* first see if property already exists */
-
- pProp = wUserProps (pWin);
- while (pProp)
- {
- if (pProp->propertyName == property)
- break;
- pProp = pProp->next;
- }
- if (!pProp) /* just add to list */
- {
- if (!pWin->optional && !MakeWindowOptional (pWin))
- return(BadAlloc);
- pProp = (PropertyPtr)malloc(sizeof(PropertyRec));
- if (!pProp)
- return(BadAlloc);
- data = (void *)malloc(totalSize);
- if (!data && len)
- {
- free(pProp);
- return(BadAlloc);
- }
- pProp->propertyName = property;
- pProp->type = type;
- pProp->format = format;
- pProp->data = data;
- if (len)
- memmove((char *)data, (char *)value, totalSize);
- pProp->size = len;
- pProp->next = pWin->optional->userProps;
- pWin->optional->userProps = pProp;
- }
- else
- {
- /* To append or prepend to a property the request format and type
- must match those of the already defined property. The
- existing format and type are irrelevant when using the mode
- "PropModeReplace" since they will be written over. */
-
- if ((format != pProp->format) && (mode != PropModeReplace))
- return(BadMatch);
- if ((pProp->type != type) && (mode != PropModeReplace))
- return(BadMatch);
- if (mode == PropModeReplace)
- {
- if (totalSize != pProp->size * (pProp->format >> 3))
- {
- data = (void *)realloc(pProp->data, totalSize);
- if (!data && len)
- return(BadAlloc);
- pProp->data = data;
- }
- if (len)
- memmove((char *)pProp->data, (char *)value, totalSize);
- pProp->size = len;
- pProp->type = type;
- pProp->format = format;
- }
- else if (len == 0)
- {
- /* do nothing */
- }
- else if (mode == PropModeAppend)
- {
- data = (void *)realloc(pProp->data,
- sizeInBytes * (len + pProp->size));
- if (!data)
- return(BadAlloc);
- pProp->data = data;
- memmove(&((char *)data)[pProp->size * sizeInBytes],
- (char *)value,
- totalSize);
- pProp->size += len;
- }
- else if (mode == PropModePrepend)
- {
- data = (void *)malloc(sizeInBytes * (len + pProp->size));
- if (!data)
- return(BadAlloc);
- memmove(&((char *)data)[totalSize], (char *)pProp->data,
- (int)(pProp->size * sizeInBytes));
- memmove((char *)data, (char *)value, totalSize);
- free(pProp->data);
- pProp->data = data;
- pProp->size += len;
- }
- }
- if (sendevent)
- {
- xEvent event;
- memset(&event, 0, sizeof(xEvent));
- event.u.u.type = PropertyNotify;
- event.u.property.window = pWin->drawable.id;
- event.u.property.state = PropertyNewValue;
- event.u.property.atom = pProp->propertyName;
- event.u.property.time = currentTime.milliseconds;
- DeliverEvents(pWin, &event, 1, (WindowPtr)NULL);
- }
- return(Success);
+ return Xorg_ChangeWindowProperty(pWin, property, type, format, mode, len, value, sendevent);
}
/*****************
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Options.c b/nx-X11/programs/Xserver/hw/nxagent/Options.c
index 9e11dc5f2..4d5fa3e16 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Options.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Options.c
@@ -107,16 +107,8 @@ void nxagentInitOptions(void)
nxagentOptions.ViewportXSpan = 0;
nxagentOptions.ViewportYSpan = 0;
- #ifndef __CYGWIN32__
-
nxagentOptions.DesktopResize = 1;
- #else
-
- nxagentOptions.DesktopResize = 0;
-
- #endif
-
nxagentOptions.Ratio = DONT_SCALE;
nxagentOptions.XRatio = DONT_SCALE;
nxagentOptions.YRatio = DONT_SCALE;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c
index 379a19fa0..b5d47623a 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c
@@ -87,7 +87,7 @@ void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl)
if (nxagentOption(DeviceControl) == True)
{
#ifdef TEST
- fprintf(stderr, "nxagentChangePointerControl: WARNING! Propagating changes to pointer settings.\n");
+ fprintf(stderr, "%s: WARNING! Propagating changes to pointer settings.\n", __func__);
#endif
XChangePointerControl(nxagentDisplay, True, True,
@@ -97,7 +97,7 @@ void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl)
}
#ifdef TEST
- fprintf(stderr, "nxagentChangePointerControl: WARNING! Not propagating changes to pointer settings.\n");
+ fprintf(stderr, "%s: WARNING! Not propagating changes to pointer settings.\n", __func__);
#endif
}
@@ -108,7 +108,7 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff)
case DEVICE_INIT:
#ifdef TEST
- fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_INIT].\n");
+ fprintf(stderr, "%s: Called for [DEVICE_INIT].\n", __func__);
#endif
if (NXDisplayError(nxagentDisplay) == 1)
@@ -129,7 +129,7 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff)
case DEVICE_ON:
#ifdef TEST
- fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_ON].\n");
+ fprintf(stderr, "%s: Called for [DEVICE_ON].\n", __func__);
#endif
if (NXDisplayError(nxagentDisplay) == 1)
@@ -146,7 +146,7 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff)
case DEVICE_OFF:
#ifdef TEST
- fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_OFF].\n");
+ fprintf(stderr, "%s: Called for [DEVICE_OFF].\n", __func__);
#endif
if (NXDisplayError(nxagentDisplay) == 1)
@@ -160,7 +160,7 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff)
case DEVICE_CLOSE:
#ifdef TEST
- fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_CLOSE].\n");
+ fprintf(stderr, "%s: Called for [DEVICE_CLOSE].\n", __func__);
#endif
break;
@@ -174,14 +174,14 @@ void nxagentInitPointerMap(void)
unsigned char pointerMap[MAXBUTTONS];
#ifdef DEBUG
- fprintf(stderr, "nxagentInitPointerMap: Going to retrieve the "
- "pointer map from remote display.\n");
+ fprintf(stderr, "%s: Going to retrieve the "
+ "pointer map from remote display.\n", __func__);
#endif
int numButtons = XGetPointerMapping(nxagentDisplay, pointerMap, MAXBUTTONS);
/*
- * Computing revers pointer map.
+ * Computing reverse pointer map.
*/
for (int i = 1; i <= numButtons; i++)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
index 5ff0c6506..86d3ba502 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
@@ -666,7 +666,7 @@ Bool nxagentReconnectSession(void)
}
/* Re-read keystrokes definitions in case the keystrokes file has
- changed while being supended */
+ changed while being suspended */
nxagentInitKeystrokes(True);
#ifdef NX_DEBUG_INPUT
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
index 86e3c9ca7..85643a853 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
@@ -285,7 +285,7 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren)
if (!toplevel)
{
- /* FIXME: Is this too much and we and simply return here? */
+ /* FIXME: Is this too much and we should simply return here? */
FatalError("nxagentRootlessRestack: malloc() failed.");
}
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.c b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
index 9e4d3e433..2ed7d9593 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
@@ -454,8 +454,6 @@ Window nxagentCreateIconWindow(void)
*/
XSizeHints* sizeHints = XAllocSizeHints();
- XWMHints* wmHints = XAllocWMHints();;
-
if (sizeHints)
{
sizeHints->flags = PMinSize | PMaxSize;
@@ -463,27 +461,23 @@ Window nxagentCreateIconWindow(void)
sizeHints->min_height = sizeHints->max_height = 1;
}
+ XWMHints* wmHints = XAllocWMHints();;
if (wmHints)
{
- wmHints->flags = IconPixmapHint | IconMaskHint;
+ wmHints->flags = StateHint | IconPixmapHint;
wmHints->initial_state = IconicState;
wmHints->icon_pixmap = nxagentIconPixmap;
if (useXpmIcon)
{
+ wmHints->flags |= IconMaskHint;
wmHints->icon_mask = nxagentIconShape;
- wmHints->flags = IconPixmapHint | IconMaskHint;
- }
- else
- {
- wmHints->flags = StateHint | IconPixmapHint;
}
}
- char *window_name = nxagentWindowName;
Xutf8SetWMProperties(nxagentDisplay, w,
- window_name, window_name,
- NULL , 0 , sizeHints, wmHints, NULL);
+ nxagentWindowName, nxagentWindowName,
+ NULL , 0 , sizeHints, wmHints, NULL);
SAFE_XFree(sizeHints);
SAFE_XFree(wmHints);
@@ -1901,10 +1895,8 @@ N/A
XSelectInput(nxagentDisplay, nxagentFullscreenWindow, mask);
}
- XSizeHints* sizeHints;
- XWMHints* wmHints;
-
- if ((sizeHints = XAllocSizeHints()))
+ XSizeHints* sizeHints = XAllocSizeHints();
+ if (sizeHints)
{
sizeHints->flags = PPosition | PMinSize | PMaxSize;
sizeHints->x = nxagentOption(X) + POSITION_OFFSET;
@@ -1932,18 +1924,16 @@ N/A
sizeHints->flags |= USSize;
}
- if ((wmHints = XAllocWMHints()))
+ XWMHints* wmHints = XAllocWMHints();
+ if (wmHints)
{
+ wmHints->flags = IconPixmapHint;
wmHints->icon_pixmap = nxagentIconPixmap;
if (useXpmIcon)
{
+ wmHints->flags |= IconMaskHint;
wmHints->icon_mask = nxagentIconShape;
- wmHints->flags = IconPixmapHint | IconMaskHint;
- }
- else
- {
- wmHints->flags = IconPixmapHint;
}
}
@@ -2192,19 +2182,17 @@ Bool nxagentCloseScreen(ScreenPtr pScreen)
static void nxagentSetRootClip (ScreenPtr pScreen, Bool enable)
{
WindowPtr pWin = pScreen->root;
- WindowPtr pChild;
Bool WasViewable = (Bool)(pWin->viewable);
Bool anyMarked = FALSE;
- RegionPtr pOldClip = NULL, bsExposed;
+ RegionPtr pOldClip = NULL;
#ifdef DO_SAVE_UNDERS
Bool dosave = FALSE;
#endif
WindowPtr pLayerWin;
- BoxRec box;
if (WasViewable)
{
- for (pChild = pWin->firstChild; pChild; pChild = pChild->nextSib)
+ for (WindowPtr pChild = pWin->firstChild; pChild; pChild = pChild->nextSib)
{
(void) (*pScreen->MarkOverlappedWindows)(pChild,
pChild,
@@ -2216,9 +2204,7 @@ static void nxagentSetRootClip (ScreenPtr pScreen, Bool enable)
{
if (HasBorder (pWin))
{
- RegionPtr borderVisible;
-
- borderVisible = RegionCreate(NullBox, 1);
+ RegionPtr borderVisible = RegionCreate(NullBox, 1);
RegionSubtract(borderVisible,
&pWin->borderClip, &pWin->winSize);
pWin->valdata->before.borderVisible = borderVisible;
@@ -2229,15 +2215,12 @@ static void nxagentSetRootClip (ScreenPtr pScreen, Bool enable)
/*
* Use REGION_BREAK to avoid optimizations in ValidateTree
- * that assume the root borderClip can't change well, normally
+ * that assume the root borderClip can't change. Well, normally
* it doesn't...)
*/
if (enable)
{
- box.x1 = 0;
- box.y1 = 0;
- box.x2 = pScreen->width;
- box.y2 = pScreen->height;
+ BoxRec box = {.x1 = 0, .y1 = 0, .x2 = pScreen->width, .y2 = pScreen->height};
RegionInit(&pWin->winSize, &box, 1);
RegionInit(&pWin->borderSize, &box, 1);
if (WasViewable)
@@ -2290,14 +2273,14 @@ static void nxagentSetRootClip (ScreenPtr pScreen, Bool enable)
{
if (!WasViewable)
pOldClip = &pWin->clipList; /* a convenient empty region */
- bsExposed = (*pScreen->TranslateBackingStore)
+ RegionPtr bsExposed = (*pScreen->TranslateBackingStore)
(pWin, 0, 0, pOldClip,
pWin->drawable.x, pWin->drawable.y);
if (WasViewable)
RegionDestroy(pOldClip);
if (bsExposed)
{
- RegionPtr valExposed = NullRegion;
+ RegionPtr valExposed = NullRegion;
if (pWin->valdata)
valExposed = &pWin->valdata->after.exposed;
@@ -2326,15 +2309,6 @@ static void nxagentSetRootClip (ScreenPtr pScreen, Bool enable)
Bool nxagentResizeScreen(ScreenPtr pScreen, int width, int height,
int mmWidth, int mmHeight)
{
- BoxRec box;
- PixmapPtr pPixmap;
- char *fbBits;
-
- int oldWidth;
- int oldHeight;
- int oldMmWidth;
- int oldMmHeight;
-
#ifdef TEST
nxagentPrintAgentGeometry("Before Resize Screen", "nxagentResizeScreen:");
#endif
@@ -2343,10 +2317,10 @@ Bool nxagentResizeScreen(ScreenPtr pScreen, int width, int height,
* Change screen properties.
*/
- oldWidth = pScreen -> width;
- oldHeight = pScreen -> height;
- oldMmWidth = pScreen -> mmWidth;
- oldMmHeight = pScreen -> mmHeight;
+ int oldWidth = pScreen -> width;
+ int oldHeight = pScreen -> height;
+ int oldMmWidth = pScreen -> mmWidth;
+ int oldMmHeight = pScreen -> mmHeight;
pScreen -> width = width;
pScreen -> height = height;
@@ -2396,10 +2370,11 @@ Bool nxagentResizeScreen(ScreenPtr pScreen, int width, int height,
pScreen -> mmWidth = mmWidth;
pScreen -> mmHeight = mmHeight;
- pPixmap = fbGetScreenPixmap(pScreen);
+ PixmapPtr pPixmap = fbGetScreenPixmap(pScreen);
- if ((fbBits = realloc(pPixmap -> devPrivate.ptr, PixmapBytePad(width, pScreen->rootDepth) *
- height * BitsPerPixel(pScreen->rootDepth) / 8)) == NULL)
+ char *fbBits = realloc(pPixmap -> devPrivate.ptr, PixmapBytePad(width, pScreen->rootDepth) *
+ height * BitsPerPixel(pScreen->rootDepth) / 8);
+ if (fbBits == NULL)
{
pScreen -> width = oldWidth;
pScreen -> height = oldHeight;
@@ -2466,10 +2441,7 @@ FIXME: We should try to restore the previously
* Set properties for the agent root window.
*/
- box.x1 = 0;
- box.y1 = 0;
- box.x2 = width;
- box.y2 = height;
+ BoxRec box = {.x1 = 0, .y1 = 0, .x2 = width, .y2 = height};
pScreen->root -> drawable.width = width;
pScreen->root -> drawable.height = height;
@@ -2511,9 +2483,6 @@ nxagentResizeScreenError:
void nxagentShadowSetRatio(float floatXRatio, float floatYRatio)
{
- int intXRatio;
- int intYRatio;
-
if (floatXRatio == 0)
{
floatXRatio = 1.0;
@@ -2524,8 +2493,8 @@ void nxagentShadowSetRatio(float floatXRatio, float floatYRatio)
floatYRatio = 1.0;
}
- intXRatio = floatXRatio * (1 << PRECISION);
- intYRatio = floatYRatio * (1 << PRECISION);
+ int intXRatio = floatXRatio * (1 << PRECISION);
+ int intYRatio = floatYRatio * (1 << PRECISION);
nxagentChangeOption(FloatXRatio, floatXRatio);
nxagentChangeOption(FloatYRatio, floatYRatio);
@@ -2563,16 +2532,6 @@ void nxagentShadowSetWindowOptions(void)
int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
{
char *layout = NULL;
- XlibGC gc;
- XGCValues value;
-
- #ifndef __CYGWIN32__
-
- Atom nxagentShadowAtom;
-
- int fd;
-
- #endif
#ifdef TEST
fprintf(stderr, "Info: Init shadow session. nxagentDisplayName [%s] "
@@ -2603,8 +2562,6 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
nxagentShadowUid);
#endif
-#if !defined (__CYGWIN32__) && !defined (WIN32)
-
if (nxagentShadowUid != -1)
{
NXShadowSetDisplayUid(nxagentShadowUid);
@@ -2615,8 +2572,6 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
NXShadowDisableDamage();
}
-#endif
-
if (NXShadowCreate(nxagentDisplay, layout, nxagentShadowDisplayName,
(void *) &nxagentShadowDisplay) != 1)
{
@@ -2629,18 +2584,14 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
}
/*
- * The shadow nxagent sets the _NX_SHADOW
- * property on the master X server root
- * window in order to notify its presence.
+ * The shadow nxagent sets the _NX_SHADOW property on the master X
+ * server root window in order to notify its presence.
*/
- #ifndef __CYGWIN__
-
- nxagentShadowAtom = XInternAtom(nxagentShadowDisplay, "_NX_SHADOW", False);
+ XlibAtom nxagentShadowAtom = XInternAtom(nxagentShadowDisplay, "_NX_SHADOW", False);
XChangeProperty(nxagentShadowDisplay, DefaultRootWindow(nxagentShadowDisplay),
nxagentShadowAtom, XA_STRING, 8, PropModeReplace, NULL, 0);
- #endif
if (NXShadowAddUpdaterDisplay(nxagentDisplay, &nxagentShadowWidth,
&nxagentShadowHeight, &nxagentMasterDepth) == 0)
@@ -2653,8 +2604,6 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
return -1;
}
- #ifndef __CYGWIN32__
-
if (nxagentOption(Fullscreen) == 1)
{
nxagentShadowSetRatio(WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay)) * 1.0 / nxagentShadowWidth,
@@ -2686,36 +2635,12 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
switch (DefaultVisualOfScreen(DefaultScreenOfDisplay(nxagentShadowDisplay)) -> class)
{
- case StaticGray:
- {
- className = "StaticGray";
- break;
- }
- case StaticColor:
- {
- className = "StaticColor";
- break;
- }
- case PseudoColor:
- {
- className = "PseudoColor";
- break;
- }
- case DirectColor:
- {
- className = "DirectColor";
- break;
- }
- case GrayScale:
- {
- className = "GrayScale";
- break;
- }
- default:
- {
- className = "";
- break;
- }
+ case StaticGray: { className = "StaticGray"; break; }
+ case StaticColor: { className = "StaticColor"; break; }
+ case PseudoColor: { className = "PseudoColor"; break; }
+ case DirectColor: { className = "DirectColor"; break; }
+ case GrayScale: { className = "GrayScale"; break; }
+ default: { className = ""; break; }
}
fprintf(stderr, "nxagentShadowInit: PANIC! Cannot shadow the display. "
@@ -2727,8 +2652,6 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
return -1;
}
- #endif
-
nxagentShadowDepth = pScreen -> rootDepth;
switch (nxagentMasterDepth)
@@ -2813,19 +2736,13 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
nxagentBppShadow = 1;
}
-#if !defined(__CYGWIN__)
-
imageByteOrder = nxagentShadowDisplay -> byte_order;
- fd = XConnectionNumber(nxagentShadowDisplay);
-
- nxagentShadowXConnectionNumber = fd;
-
-#endif
+ nxagentShadowXConnectionNumber = XConnectionNumber(nxagentShadowDisplay);
#ifdef TEST
fprintf(stderr, "nxagentShadowInit: Adding the X connection [%d] "
- "to the device set.\n", fd);
+ "to the device set.\n", nxagentShadowXConnectionNumber);
#endif
SetNotifyFd(nxagentShadowXConnectionNumber, nxagentNotifyConnection, X_NOTIFY_READ, NULL);
@@ -2855,13 +2772,15 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
* Clean up the main window.
*/
- value.foreground = 0x00000000;
- value.background = 0x00000000;
- value.plane_mask = 0xffffffff;
- value.fill_style = FillSolid;
+ XGCValues value = {
+ .foreground = 0x00000000,
+ .background = 0x00000000,
+ .plane_mask = 0xffffffff,
+ .fill_style = FillSolid,
+ };
- gc = XCreateGC(nxagentDisplay, nxagentPixmap(nxagentShadowPixmapPtr), GCBackground |
- GCForeground | GCFillStyle | GCPlaneMask, &value);
+ XlibGC gc = XCreateGC(nxagentDisplay, nxagentPixmap(nxagentShadowPixmapPtr), GCBackground |
+ GCForeground | GCFillStyle | GCPlaneMask, &value);
XFillRectangle(nxagentDisplay, nxagentPixmap(nxagentShadowPixmapPtr), gc, 0, 0,
nxagentShadowWidth, nxagentShadowHeight);
@@ -2875,12 +2794,6 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
int nxagentShadowCreateMainWindow(ScreenPtr pScreen, WindowPtr pWin, int width, int height)
{
- XWindowChanges changes;
- Mask mask,maskb;
- XID values[4], *vlist;
- int error;
- XID xid;
-
nxagentShadowWidth = width;
nxagentShadowHeight = height;
@@ -2926,9 +2839,9 @@ int nxagentShadowCreateMainWindow(ScreenPtr pScreen, WindowPtr pWin, int width,
XFreePixmap(nxagentDisplay, nxagentPixmap(nxagentVirtualPixmap(nxagentShadowPixmapPtr)));
- xid = XCreatePixmap(nxagentDisplay, nxagentDefaultWindows[0],
- nxagentScale(nxagentShadowWidth, nxagentOption(XRatio)),
- nxagentScale(nxagentShadowHeight, nxagentOption(YRatio)), nxagentShadowDepth);
+ XID xid = XCreatePixmap(nxagentDisplay, nxagentDefaultWindows[0],
+ nxagentScale(nxagentShadowWidth, nxagentOption(XRatio)),
+ nxagentScale(nxagentShadowHeight, nxagentOption(YRatio)), nxagentShadowDepth);
nxagentPixmap(nxagentVirtualPixmap(nxagentShadowPixmapPtr)) = xid;
@@ -2957,24 +2870,27 @@ int nxagentShadowCreateMainWindow(ScreenPtr pScreen, WindowPtr pWin, int width,
#endif
}
- mask = CWBackPixmap | CWEventMask | CWCursor;
+ Mask mask = CWBackPixmap | CWEventMask | CWCursor;
+ Mask maskb = nxagentGetDefaultEventMask() | ResizeRedirectMask | ExposureMask;
- maskb = nxagentGetDefaultEventMask();
- maskb |= ResizeRedirectMask | ExposureMask;
-
- vlist = values;
+ XID values[4];
+ XID *vlist = values;
*vlist++ = (XID)nxagentShadowPixmapPtr -> drawable.id;
*vlist++ = (XID)maskb;
*vlist = (XID)None;
+ int error;
+
nxagentShadowWindowPtr = CreateWindow(accessWindowID, pWin, 0, 0, nxagentShadowWidth,
nxagentShadowHeight, 0, InputOutput, mask, (XID *)values,
nxagentShadowDepth, serverClient, CopyFromParent, &error);
mask = CWWidth | CWHeight;
- changes.width = nxagentScale(nxagentShadowWidth, nxagentOption(XRatio));
- changes.height = nxagentScale(nxagentShadowHeight, nxagentOption(YRatio));
+ XWindowChanges changes = {
+ .width = nxagentScale(nxagentShadowWidth, nxagentOption(XRatio)),
+ .height = nxagentScale(nxagentShadowHeight, nxagentOption(YRatio))
+ };
XConfigureWindow(nxagentDisplay, nxagentWindow(nxagentShadowWindowPtr), mask, &changes);
@@ -3038,51 +2954,33 @@ int nxagentShadowPoll(PixmapPtr nxagentShadowPixmapPtr, GCPtr nxagentShadowGCPtr
unsigned char nxagentShadowDepth, int nxagentShadowWidth,
int nxagentShadowHeight, char *nxagentShadowBuffer, int *changed, int *suspended)
{
- int x, y, y2, n, c, line;
- int result;
- long numRects;
- unsigned int width, height, length;
- char *tBuffer = NULL;
- char *iBuffer, *ptBox;
- BoxRec *pBox;
RegionRec updateRegion;
RegionRec tempRegion;
- BoxRec box;
- int overlap;
-
RegionNull(&updateRegion);
-
RegionNull(&tempRegion);
-#ifdef __CYGWIN32__
-
- if (NXShadowCaptureCursor(nxagentWindow(nxagentShadowWindowPtr),
- nxagentShadowWindowPtr -> drawable.pScreen -> visuals) == -1)
- {
- #ifdef WARNING
- fprintf(stderr, "nxagentShadowPoll: Failed to capture cursor.\n");
- #endif
- }
-
-#endif
-
- result = NXShadowHasChanged(nxagentUserInput, NULL, suspended);
+ int result = NXShadowHasChanged(nxagentUserInput, NULL, suspended);
*changed = result;
if (result == 1)
{
+ char *tBuffer = NULL;
+ char *iBuffer, *ptBox;
+
nxagentRemoveSplashWindow();
+ long numRects;
NXShadowExportChanges(&numRects, &ptBox);
- pBox = (BoxRec *)ptBox;
+
+ BoxRec *pBox = (BoxRec *)ptBox;
#ifdef TEST
fprintf(stderr, "nxagentShadowPoll: nRects[%ld], pBox[%p] depth[%d].\n", numRects, (void *) pBox, nxagentShadowDepth);
#endif
- for (n = 0; n < numRects; n++)
+ for (int n = 0; n < numRects; n++)
{
/*
* The BoxRec struct defined in the Xserver has a different
@@ -3090,11 +2988,11 @@ int nxagentShadowPoll(PixmapPtr nxagentShadowPixmapPtr, GCPtr nxagentShadowGCPtr
* the second and third field are inverted.
*/
- x = pBox[n].x1;
- y = pBox[n].x2;
- y2 = pBox[n].y2;
- width = pBox[n].y1 - pBox[n].x1;/* y1 = x2 */
- height = y2 - pBox[n].x2; /* x2 = y1 */
+ int x = pBox[n].x1;
+ int y = pBox[n].x2;
+ int y2 = pBox[n].y2;
+ unsigned int width = pBox[n].y1 - pBox[n].x1;/* y1 = x2 */
+ unsigned int height = y2 - pBox[n].x2; /* x2 = y1 */
if((x + width) > nxagentShadowWidth || (y + height) > nxagentShadowHeight)
{
@@ -3105,13 +3003,13 @@ int nxagentShadowPoll(PixmapPtr nxagentShadowPixmapPtr, GCPtr nxagentShadowGCPtr
continue;
}
- line = PixmapBytePad(width, nxagentMasterDepth);
+ int line = PixmapBytePad(width, nxagentMasterDepth);
#ifdef DEBUG
fprintf(stderr, "nxagentShadowPoll: Rectangle Number[%d] - x[%d]y[%d]W[%u]H[%u].\n", n+1, x, y, width, height);
#endif
- length = nxagentImageLength(width, height, ZPixmap, 0, nxagentMasterDepth);
+ unsigned int length = nxagentImageLength(width, height, ZPixmap, 0, nxagentMasterDepth);
SAFE_free(tBuffer);
@@ -3128,7 +3026,7 @@ int nxagentShadowPoll(PixmapPtr nxagentShadowPixmapPtr, GCPtr nxagentShadowGCPtr
iBuffer = tBuffer;
- for (c = 0; c + y < y2; c++)
+ for (int c = 0; c + y < y2; c++)
{
memcpy(tBuffer, nxagentShadowBuffer + x * nxagentBppMaster +
(y + c) * nxagentShadowWidth * nxagentBppMaster, line);
@@ -3139,25 +3037,15 @@ int nxagentShadowPoll(PixmapPtr nxagentShadowPixmapPtr, GCPtr nxagentShadowGCPtr
tBuffer = iBuffer;
-#ifdef __CYGWIN32__
- if (nxagentBppMaster == 2)
- {
- NXShadowCorrectColor(length, tBuffer);
- }
-#else
if (nxagentCheckDepth == 1)
{
nxagentShadowAdaptDepth(width, height, line, &tBuffer);
}
-#endif
fbPutImage(nxagentVirtualDrawable((DrawablePtr)nxagentShadowPixmapPtr), nxagentShadowGCPtr,
nxagentShadowDepth, x, y, width, height, 0, ZPixmap, tBuffer);
- box.x1 = x;
- box.x2 = x + width;
- box.y1 = y;
- box.y2 = y + height;
+ BoxRec box = {.x1 = x, .x2 = x + width, .y1 = y, .y2 = y + height};
RegionInit(&tempRegion, &box, 1);
@@ -3165,6 +3053,7 @@ int nxagentShadowPoll(PixmapPtr nxagentShadowPixmapPtr, GCPtr nxagentShadowGCPtr
RegionUninit(&tempRegion);
+ int overlap;
RegionValidate(&updateRegion, &overlap);
RegionUnion(&nxagentShadowUpdateRegion, &nxagentShadowUpdateRegion, &updateRegion);
@@ -3398,43 +3287,40 @@ unsigned char fromHexNibble(char c)
void nxagentPropagateArtsdProperties(ScreenPtr pScreen, char *port)
{
- Window rootWin;
- XlibAtom atomReturnType;
- XlibAtom propAtom;
- int iReturnFormat;
- unsigned long ulReturnItems;
- unsigned long ulReturnBytesLeft;
- unsigned char *pszReturnData = NULL;
- int iReturn;
char tchar[] = " ";
/*
FIXME: The port information is not used at the moment and produces a
warning on recent gcc versions. Do we need such information
- to run the audio forawrding?
+ to run the audio forwarding?
char *chport;
char hex[] = "0123456789abcdef";
*/
- rootWin = DefaultRootWindow(nxagentDisplay);
- propAtom = nxagentAtoms[4]; /* MCOPGLOBALS */
+ Window rootWin = DefaultRootWindow(nxagentDisplay);
+ XlibAtom propAtom = nxagentAtoms[4]; /* MCOPGLOBALS */
+ XlibAtom atomReturnType;
+ int iReturnFormat;
+ unsigned long ulReturnItems;
+ unsigned long ulReturnBytesLeft;
+ unsigned char *pszReturnData = NULL;
/*
* Get at most 64KB of data.
*/
- iReturn = XGetWindowProperty(nxagentDisplay,
- rootWin,
- propAtom,
- 0,
- 65536 / 4,
- False,
- XA_STRING,
- &atomReturnType,
- &iReturnFormat,
- &ulReturnItems,
- &ulReturnBytesLeft,
- &pszReturnData);
+ int iReturn = XGetWindowProperty(nxagentDisplay,
+ rootWin,
+ propAtom,
+ 0,
+ 65536 / 4,
+ False,
+ XA_STRING,
+ &atomReturnType,
+ &iReturnFormat,
+ &ulReturnItems,
+ &ulReturnBytesLeft,
+ &pszReturnData);
if (iReturn == Success && atomReturnType != None &&
ulReturnItems > 0 && pszReturnData != NULL)
@@ -3462,72 +3348,69 @@ FIXME: The port information is not used at the moment and produces a
int i, in;
for (i = 0, in = 0; pszReturnData[i] != '\0'; i++)
{
- local_buf[in]=pszReturnData[i];
+ local_buf[in] = pszReturnData[i];
- if(pszReturnData[i]==':')
+ if(pszReturnData[i] == ':')
{
i++;
- while(pszReturnData[i]!='\n')
+ while(pszReturnData[i] != '\n')
{
- unsigned char h;
- unsigned char l;
-
- h = fromHexNibble(pszReturnData[i]);
+ unsigned char h = fromHexNibble(pszReturnData[i]);
i++;
- if(pszReturnData[i]=='\0') continue;
- l = fromHexNibble(pszReturnData[i]);
+ if (pszReturnData[i] == '\0')
+ continue;
+ unsigned char l = fromHexNibble(pszReturnData[i]);
i++;
if(h >= 16 || l >= 16) continue;
/*
- * FIXME: The array tchar[] was used uninitialized.
- * It's not clear to me the original purpose of the
- * piece of code using it. To be removed in future
- * versions.
+ * FIXME: The array tchar[] was used uninitialized. It's
+ * not clear to me the original purpose of the piece of
+ * code using it. To be removed in future versions.
*/
- tchar[0]=tchar[1];
- tchar[1]=tchar[2];
- tchar[2]=tchar[3];
+ tchar[0] = tchar[1];
+ tchar[1] = tchar[2];
+ tchar[2] = tchar[3];
tchar[3] = (h << 4) + l;
- tchar[4]='\0';
+ tchar[4] ='\0';
if (strncmp(tchar, "tcp:", 4) == 0)
{
- local_buf[in-7]='1';
- local_buf[in-6]=strlen(port)+47;
+ local_buf[in - 7] = '1';
+ local_buf[in - 6] = strlen(port) + 47;
in++;
- local_buf[in]=pszReturnData[i-2];
+ local_buf[in] = pszReturnData[i - 2];
in++;
- local_buf[in]=pszReturnData[i-1];
+ local_buf[in] = pszReturnData[i - 1];
/* "localhost:" */
strcat(local_buf,"6c6f63616c686f73743a");
- in+=20;
+ in += 20;
/*
FIXME: The port information is not used at the moment and produces a
warning on recent gcc versions. Do we need such information
to run the audio forawrding?
- chport=&port[0];
+ chport = &port[0];
- while(*chport!='\0')
+ while(*chport != '\0')
{
in++;
- local_buf[in]=hex[(*chport >> 4) & 0xf];
+ local_buf[in] = hex[(*chport >> 4) & 0xf];
in++;
- local_buf[in]=hex[*chport & 0xf];
+ local_buf[in] = hex[*chport & 0xf];
*chport++;
}
*/
strcat(local_buf,"00");
- in+=2;
+ in += 2;
- while(pszReturnData[i]!='\n')
+ while(pszReturnData[i] != '\n')
{
i++;
}
@@ -3535,20 +3418,20 @@ FIXME: The port information is not used at the moment and produces a
else
{
in++;
- local_buf[in]=pszReturnData[i-2];
+ local_buf[in] = pszReturnData[i - 2];
in++;
- local_buf[in]=pszReturnData[i-1];
+ local_buf[in] = pszReturnData[i - 1];
}
}
in++;
- local_buf[in]=pszReturnData[i];
+ local_buf[in] = pszReturnData[i];
}
in++;
}
- local_buf[in]=0;
+ local_buf[in] = 0;
if (strlen(local_buf))
{
@@ -3623,9 +3506,6 @@ Bool intersect(int ax1, int ay1, unsigned int aw, unsigned int ah,
int bx1, int by1, unsigned int bw, unsigned int bh,
int *x, int *y, unsigned int *w, unsigned int *h)
{
- int tx1, ty1, tx2, ty2, ix, iy;
- unsigned int iw, ih;
-
int ax2 = ax1 + aw;
int ay2 = ay1 + ah;
int bx2 = bx1 + bw;
@@ -3643,15 +3523,15 @@ Bool intersect(int ax1, int ay1, unsigned int aw, unsigned int ah,
return FALSE;
}
- tx1 = max(ax1, bx1);
- ty1 = max(ay1, by1);
- tx2 = min(ax2, bx2);
- ty2 = min(ay2, by2);
+ int tx1 = max(ax1, bx1);
+ int ty1 = max(ay1, by1);
+ int tx2 = min(ax2, bx2);
+ int ty2 = min(ay2, by2);
- ix = tx1 - ax1;
- iy = ty1 - ay1;
- iw = tx2 - tx1;
- ih = ty2 - ty1;
+ int ix = tx1 - ax1;
+ int iy = ty1 - ay1;
+ unsigned int iw = tx2 - tx1;
+ unsigned int ih = ty2 - ty1;
/* check if the resulting rectangle is feasible */
if (iw <= 0 || ih <= 0) {
@@ -3691,34 +3571,31 @@ Bool intersect_bb(int ax1, int ay1, unsigned int aw, unsigned int ah,
Bool result = intersect(ax1, ay1, aw, ah, bx1, by1, bw, bh, x, y, w, h);
- if (result == TRUE) {
-
+ if (result == TRUE)
+ {
/*
* ###### The X-Coordinate ######
*/
/* check if outside-left of bounding box */
- if (bx1 == bbx1 && ax1 < bbx1) {
-
+ if (bx1 == bbx1 && ax1 < bbx1)
+ {
*w += bbx1 - ax1;
*x = 0;
#ifdef DEBUG
fprintf(stderr, "intersect_bb: session box is outside-left of the bounding box - width gets adapted to [%d]\n", *w);
#endif
-
-
}
/* check if outside-right of bounding box */
- if (bx1 + bw == bbx2 && ax1 + aw > bbx2) {
-
+ if (bx1 + bw == bbx2 && ax1 + aw > bbx2)
+ {
*w += ax1 + aw - bbx2;
#ifdef DEBUG
fprintf(stderr, "intersect_bb: session box is outside-right of the bounding box - width gets adapted to [%d]\n", *w);
#endif
-
}
/*
@@ -3726,34 +3603,31 @@ Bool intersect_bb(int ax1, int ay1, unsigned int aw, unsigned int ah,
*/
/* check if outside-above of bounding box */
- if (by1 == bby1 && ay1 < bby1) {
-
+ if (by1 == bby1 && ay1 < bby1)
+ {
*h += bby1 - ay1;
*y = 0;
#ifdef DEBUG
fprintf(stderr, "intersect_bb: session box is outside-above of the bounding box - height gets adapted to [%d]\n", *h);
#endif
-
}
/* check if outside-below of bounding box */
- if (by1 + bh == bby2 && ay1 + ah > bby2) {
-
+ if (by1 + bh == bby2 && ay1 + ah > bby2)
+ {
*h += ay1 + ah - bby2;
#ifdef DEBUG
fprintf(stderr, "intersect_bb: session box is outside-below of the bounding box - height gets adapted to [%d]\n", *h);
#endif
-
}
-
}
return result;
}
#endif
-RRModePtr nxagentRRCustomMode = NULL;
+RRModePtr nxagentRRCustomMode = NULL;
/*
This is basically the code that was used on screen resize before
@@ -3763,38 +3637,36 @@ RRModePtr nxagentRRCustomMode = NULL;
void nxagentAdjustCustomMode(ScreenPtr pScreen)
{
rrScrPrivPtr pScrPriv = rrGetScrPriv(pScreen);
- RROutputPtr output;
if (pScrPriv)
{
- output = RRFirstOutput(pScreen);
+ RROutputPtr output = RRFirstOutput(pScreen);
if (output && output -> crtc)
{
- RRCrtcPtr crtc;
- char name[100];
- xRRModeInfo modeInfo;
const int refresh = 60;
int width = nxagentOption(Width);
int height = nxagentOption(Height);
- crtc = output -> crtc;
+ RRCrtcPtr crtc = output -> crtc;
for (int c = 0; c < pScrPriv -> numCrtcs; c++)
{
RRCrtcSet(pScrPriv -> crtcs[c], NULL, 0, 0, RR_Rotate_0, 0, NULL);
}
- memset(&modeInfo, '\0', sizeof(modeInfo));
+ char name[100];
sprintf(name, "%dx%d", width, height);
- modeInfo.width = width;
- modeInfo.height = height;
- modeInfo.hTotal = width;
- modeInfo.vTotal = height;
- modeInfo.dotClock = ((CARD32) width * (CARD32) height *
- (CARD32) refresh);
- modeInfo.nameLength = strlen(name);
+ xRRModeInfo modeInfo = {
+ .width = width,
+ .height = height,
+ .hTotal = width,
+ .vTotal = height,
+ .dotClock = ((CARD32) width * (CARD32) height *
+ (CARD32) refresh),
+ .nameLength = strlen(name)
+ };
if (nxagentRRCustomMode != NULL)
{
@@ -3936,19 +3808,13 @@ void nxagentDropOutput(RROutputPtr o)
int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
{
- rrScrPrivPtr pScrPriv;
- RROutputPtr output;
- xRRModeInfo modeInfo;
- char name[100];
- int refresh = 60;
- int width = nxagentOption(Width);
- int height = nxagentOption(Height);
+ int width = nxagentOption(Width);
+ int height = nxagentOption(Height);
- pScrPriv = rrGetScrPriv(pScreen);
+ rrScrPrivPtr pScrPriv = rrGetScrPriv(pScreen);
if (pScrPriv)
{
- int i;
int number = 0;
XineramaScreenInfo *screeninfo = XineramaQueryScreens(nxagentDisplay, &number);
@@ -3957,7 +3823,7 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
{
#ifdef DEBUG
fprintf(stderr, "nxagentAdjustRandRXinerama: XineramaQueryScreens() returned [%d] screens:\n", number);
- for (int i=0; i < number; i++) {
+ for (int i = 0; i < number; i++) {
fprintf(stderr, "nxagentAdjustRandRXinerama: screen_number [%d] x_org [%d] y_org [%d] width [%d] height [%d]\n", screeninfo[i].screen_number, screeninfo[i].x_org, screeninfo[i].y_org, screeninfo[i].width, screeninfo[i].height);
}
#endif
@@ -4002,15 +3868,13 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
#ifdef DEBUG
fprintf(stderr, "nxagentAdjustRandRXinerama: numCrtcs [%d], numOutputs [%d]\n", pScrPriv->numCrtcs, pScrPriv->numOutputs);
{
- Bool rrgetinfo;
-
/*
* Convert old RANDR 1.0 data (if any) to current structure. This
* is needed once at the first run of this function. If we don't
* do this here it will be done implicitly later and add mode(s) to
* our crtc(s)!
*/
- rrgetinfo = RRGetInfo(pScreen, FALSE);
+ Bool rrgetinfo = RRGetInfo(pScreen, FALSE);
fprintf(stderr, "nxagentAdjustRandRXinerama: RRGetInfo returned [%d]\n", rrgetinfo);
}
@@ -4025,7 +3889,7 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
bbx2 = bby2 = 0;
bbx1 = bby1 = INT_MAX;
- for (i = 0; i < number; i++)
+ for (int i = 0; i < number; i++)
{
bbx2 = max(bbx2, screeninfo[i].x_org + screeninfo[i].width);
bby2 = max(bby2, screeninfo[i].y_org + screeninfo[i].height);
@@ -4070,7 +3934,7 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
/* set gamma. Currently the only reason for doing this is
preventing the xrandr command from complaining about missing
gamma. */
- for (i = 0; i < pScrPriv->numCrtcs; i++)
+ for (int i = 0; i < pScrPriv->numCrtcs; i++)
{
if (pScrPriv->crtcs[i]->gammaSize == 0)
{
@@ -4082,19 +3946,22 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
}
/* delete superfluous non-NX outputs */
- for (i = pScrPriv->numOutputs - 1; i >= 0; i--)
+ for (int i = pScrPriv->numOutputs - 1; i >= 0; i--)
if (strncmp(pScrPriv->outputs[i]->name, "NX", 2))
nxagentDropOutput(pScrPriv->outputs[i]);
/* at this stage only NX outputs are left - we delete the superfluous ones */
- for (i = pScrPriv->numOutputs - 1; i >= number; i--)
+ for (int i = pScrPriv->numOutputs - 1; i >= number; i--)
nxagentDropOutput(pScrPriv->outputs[i]);
/* add and init outputs */
- for (i = 0; i < number; i++)
+ for (int i = 0; i < number; i++)
{
+ RROutputPtr output;
+
if (i >= pScrPriv->numOutputs)
{
+ char name[100];
sprintf(name, "NX%d", i+1);
output = RROutputCreate(pScreen, name, strlen(name), NULL);
/* will be done later
@@ -4120,10 +3987,8 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
RROutputSetPhysicalSize(output, 0, 0);
}
- for (i = 0; i < pScrPriv->numOutputs; i++)
+ for (int i = 0; i < pScrPriv->numOutputs; i++)
{
- Bool disable_output = FALSE;
- RRModePtr mymode = NULL, prevmode = NULL;
int new_x = 0;
int new_y = 0;
unsigned int new_w = 0;
@@ -4131,22 +3996,22 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
/* if there's no intersection disconnect the output */
#ifdef NXAGENT_RANDR_XINERAMA_CLIPPING
- disable_output = !intersect(nxagentOption(X), nxagentOption(Y),
- width, height,
- screeninfo[i].x_org, screeninfo[i].y_org,
- screeninfo[i].width, screeninfo[i].height,
- &new_x, &new_y, &new_w, &new_h);
+ Bool disable_output = !intersect(nxagentOption(X), nxagentOption(Y),
+ width, height,
+ screeninfo[i].x_org, screeninfo[i].y_org,
+ screeninfo[i].width, screeninfo[i].height,
+ &new_x, &new_y, &new_w, &new_h);
#else
- disable_output = !intersect_bb(nxagentOption(X), nxagentOption(Y),
- width, height,
- screeninfo[i].x_org, screeninfo[i].y_org,
- screeninfo[i].width, screeninfo[i].height,
- bbx1, bby1, bbx2, bby2,
- &new_x, &new_y, &new_w, &new_h);
+ Bool disable_output = !intersect_bb(nxagentOption(X), nxagentOption(Y),
+ width, height,
+ screeninfo[i].x_org, screeninfo[i].y_org,
+ screeninfo[i].width, screeninfo[i].height,
+ bbx1, bby1, bbx2, bby2,
+ &new_x, &new_y, &new_w, &new_h);
#endif
/* save previous mode */
- prevmode = pScrPriv->crtcs[i]->mode;
+ RRModePtr prevmode = pScrPriv->crtcs[i]->mode;
#ifdef DEBUG
if (prevmode)
{
@@ -4197,22 +4062,25 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
RROutputSetConnection(pScrPriv->outputs[i], RR_Connected);
- memset(&modeInfo, '\0', sizeof(modeInfo));
-
/* avoid collisions with pre-existing default modes by using a
separate namespace. If we'd simply use XxY we could not
distinguish between pre-existing modes which should stay
and our own modes that should be removed after use. */
+ char name[100];
sprintf(name, "%s%dx%d", QUOTE(NXAGENT_RANDR_MODE_PREFIX), new_w, new_h);
- modeInfo.width = new_w;
- modeInfo.height = new_h;
- modeInfo.hTotal = new_w;
- modeInfo.vTotal = new_h;
- modeInfo.dotClock = ((CARD32) new_w * (CARD32) new_h * (CARD32) refresh);
- modeInfo.nameLength = strlen(name);
+ const int refresh = 60;
+
+ xRRModeInfo modeInfo = {
+ .width = new_w,
+ .height = new_h,
+ .hTotal = new_w,
+ .vTotal = new_h,
+ .dotClock = ((CARD32) new_w * (CARD32) new_h * (CARD32) refresh),
+ .nameLength = strlen(name)
+ };
- mymode = RRModeGet(&modeInfo, name);
+ RRModePtr mymode = RRModeGet(&modeInfo, name);
#ifdef DEBUG
if (mymode)
@@ -4310,8 +4178,6 @@ int nxagentAdjustRandRXinerama(ScreenPtr pScreen)
void nxagentSaveAreas(PixmapPtr pPixmap, RegionPtr prgnSave, int xorg, int yorg, WindowPtr pWin)
{
- XGCValues values = {0};
-
miBSWindowPtr pBackingStore = (miBSWindowPtr) pWin -> backStorage;
PixmapPtr pVirtualPixmap = nxagentVirtualPixmap(pPixmap);
@@ -4323,7 +4189,7 @@ void nxagentSaveAreas(PixmapPtr pPixmap, RegionPtr prgnSave, int xorg, int yorg,
fbCopyWindowProc(&pWin -> drawable, &pVirtualPixmap -> drawable, 0, RegionRects(prgnSave),
RegionNumRects(prgnSave), xorg, yorg, FALSE, FALSE, 0, 0);
- values.subwindow_mode = IncludeInferiors;
+ XGCValues values = {.subwindow_mode = IncludeInferiors};
XlibGC gc = XCreateGC(nxagentDisplay, nxagentWindow(screenInfo.screens[0]->root), GCSubwindowMode, &values);
@@ -4417,8 +4283,6 @@ void nxagentSaveAreas(PixmapPtr pPixmap, RegionPtr prgnSave, int xorg, int yorg,
void nxagentRestoreAreas(PixmapPtr pPixmap, RegionPtr prgnRestore, int xorg,
int yorg, WindowPtr pWin)
{
- XGCValues values = {0};
-
/*
* Limit the area to restore to the
* root window size.
@@ -4434,7 +4298,7 @@ void nxagentRestoreAreas(PixmapPtr pPixmap, RegionPtr prgnRestore, int xorg,
fbCopyWindowProc(&pVirtualPixmap -> drawable, &pWin -> drawable, 0, RegionRects(prgnRestore),
RegionNumRects(prgnRestore), -xorg, -yorg, FALSE, FALSE, 0, 0);
- values.subwindow_mode = ClipByChildren;
+ XGCValues values = {.subwindow_mode = ClipByChildren};
XlibGC gc = XCreateGC(nxagentDisplay, nxagentWindow(screenInfo.screens[0]->root), GCSubwindowMode, &values);
@@ -4597,9 +4461,9 @@ void nxagentSetWMNormalHints(int screen, int width, int height)
*/
void nxagentSetWMNormalHintsMaxsize(ScreenPtr pScreen, int maxwidth, int maxheight)
{
- XSizeHints* sizeHints;
+ XSizeHints* sizeHints = XAllocSizeHints();
- if ((sizeHints = XAllocSizeHints()))
+ if (sizeHints)
{
sizeHints->flags = PMaxSize;
sizeHints->max_width = maxwidth;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c
index 40af9c60e..d60be1aa7 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
@@ -407,7 +407,7 @@ Bool nxagentCreateWindow(WindowPtr pWin)
if (nxagentReportPrivateWindowIds)
{
- fprintf (stderr, "NXAGENT_WINDOW_ID: PRIVATE_WINDOW,WID:[0x%x]\n", nxagentWindowPriv(pWin)->window);
+ fprintf(stderr, "NXAGENT_WINDOW_ID: PRIVATE_WINDOW,WID:[0x%x],INT:[0x%x]\n", nxagentWindowPriv(pWin)->window, pWin->drawable.id);
}
#ifdef TEST
fprintf(stderr, "nxagentCreateWindow: Created new window with id [0x%x].\n",
@@ -1228,8 +1228,8 @@ void nxagentMoveViewport(ScreenPtr pScreen, int hShift, int vShift)
/*
* This will update the window on the real X server by calling
- * XConfigureWindow()/XMapWindow()/XLowerWindow()/XRaiseWindow()
- * mask definesthe values that need to be updated, see e.g
+ * XConfigureWindow()/XMapWindow()/XLowerWindow()/XRaiseWindow().
+ * mask defines the values that need to be updated, see e.g.
* man XConfigureWindow.
*
* In addition to the bit flags known to Xorg it uses these
@@ -1281,35 +1281,30 @@ void nxagentConfigureWindow(WindowPtr pWin, unsigned int mask)
if (mask & CWX)
{
valuemask |= CWX;
-
values.x = nxagentWindowPriv(pWin)->x = pWin->origin.x - wBorderWidth(pWin);
}
if (mask & CWY)
{
valuemask |= CWY;
-
values.y = nxagentWindowPriv(pWin)->y = pWin->origin.y - wBorderWidth(pWin);
}
if (mask & CWWidth)
{
valuemask |= CWWidth;
-
values.width = nxagentWindowPriv(pWin)->width = pWin->drawable.width;
}
if (mask & CWHeight)
{
valuemask |= CWHeight;
-
values.height = nxagentWindowPriv(pWin)->height = pWin->drawable.height;
}
if (mask & CWBorderWidth)
{
valuemask |= CWBorderWidth;
-
values.border_width = nxagentWindowPriv(pWin)->borderWidth =
pWin->borderWidth;
}
@@ -3037,7 +3032,7 @@ static void nxagentReconnectWindow(void * param0, XID param1, void * data_buffer
if (nxagentReportPrivateWindowIds)
{
- fprintf (stderr, "NXAGENT_WINDOW_ID: PRIVATE_WINDOW,WID:[0x%x]\n", nxagentWindowPriv(pWin)->window);
+ fprintf(stderr, "NXAGENT_WINDOW_ID: PRIVATE_WINDOW,WID:[0x%x],INT:[0x%x]\n", nxagentWindowPriv(pWin)->window, pWin->drawable.id);
}
#ifdef TEST
fprintf(stderr, "nxagentReconnectWindow: Created new window with id [0x%x].\n",
@@ -3447,10 +3442,7 @@ void nxagentSetTopLevelEventMask(WindowPtr pWin)
*/
void nxagentFlushConfigureWindow(void)
{
- ConfiguredWindowStruct *index;
- XWindowChanges changes;
-
- index = nxagentConfiguredWindowList;
+ ConfiguredWindowStruct *index = nxagentConfiguredWindowList;
while (index)
{
@@ -3493,8 +3485,10 @@ void nxagentFlushConfigureWindow(void)
if (nxagentExposeQueue.exposures[i].synchronize == 1)
{
- changes.x = nxagentExposeQueue.exposures[i].serial;
- changes.y = -2;
+ XWindowChanges changes = {
+ .x = nxagentExposeQueue.exposures[i].serial,
+ .y = -2
+ };
#ifdef DEBUG
fprintf(stderr, "nxagentFlushConfigureWindow: Sending synch ConfigureWindow for "
diff --git a/nx-X11/programs/Xserver/include/dix.h b/nx-X11/programs/Xserver/include/dix.h
index 4a57f724d..dd9dc761d 100644
--- a/nx-X11/programs/Xserver/include/dix.h
+++ b/nx-X11/programs/Xserver/include/dix.h
@@ -265,7 +265,6 @@ typedef struct _Client *ClientPtr; /* also in misc.h */
typedef struct _WorkQueue *WorkQueuePtr;
-extern ClientPtr requestingClient;
extern ClientPtr *clients;
extern ClientPtr serverClient;
extern int currentMaxClients;
diff --git a/nx-X11/programs/Xserver/include/scrnintstr.h b/nx-X11/programs/Xserver/include/scrnintstr.h
index 5a3f32309..d52fb4960 100644
--- a/nx-X11/programs/Xserver/include/scrnintstr.h
+++ b/nx-X11/programs/Xserver/include/scrnintstr.h
@@ -743,7 +743,7 @@ typedef struct _ScreenInfo {
int arraySize;
int numScreens;
ScreenPtr screens[MAXSCREENS];
- int numVideoScreens;
+ int unused;
} ScreenInfo;
extern ScreenInfo screenInfo;
diff --git a/nx-X11/programs/Xserver/include/xkbsrv.h b/nx-X11/programs/Xserver/include/xkbsrv.h
index a3f8718cb..1447f5ce7 100644
--- a/nx-X11/programs/Xserver/include/xkbsrv.h
+++ b/nx-X11/programs/Xserver/include/xkbsrv.h
@@ -56,11 +56,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "xkbstr.h"
#include "inputstr.h"
-#ifdef NXAGENT_SERVER
-extern char *_NXGetXkbBasePath(const char *path);
-extern char *_NXGetXkbCompPath(const char *path);
-#endif
-
typedef struct _XkbInterest {
DeviceIntPtr dev;
ClientPtr client;
@@ -253,6 +248,7 @@ typedef struct
/***====================================================================***/
+extern void XkbFreePrivates(DeviceIntPtr);
/***====================================================================***/
diff --git a/nx-X11/programs/Xserver/mi/mibstore.c b/nx-X11/programs/Xserver/mi/mibstore.c
index 3eafac235..e31db1d93 100644
--- a/nx-X11/programs/Xserver/mi/mibstore.c
+++ b/nx-X11/programs/Xserver/mi/mibstore.c
@@ -57,7 +57,6 @@ implied warranty.
#include "pixmapstr.h"
#include <X11/fonts/fontstruct.h>
#include "dixfontstr.h"
-#include "dixstruct.h" /* For requestingClient */
#include "mi.h"
#include "mibstorest.h"
diff --git a/nx-X11/programs/Xserver/mi/miwideline.c b/nx-X11/programs/Xserver/mi/miwideline.c
index 8d73eb979..eefed600c 100644
--- a/nx-X11/programs/Xserver/mi/miwideline.c
+++ b/nx-X11/programs/Xserver/mi/miwideline.c
@@ -1127,7 +1127,7 @@ miLineProjectingCap (pDrawable, pGC, pixel, spanData, face, isLeft, xorg, yorg,
{
int xorgi = 0, yorgi = 0;
int lw;
- PolyEdgeRec lefts[2], rights[2];
+ PolyEdgeRec lefts[4], rights[4];
int lefty, righty, topy, bottomy;
PolyEdgePtr left, right;
PolyEdgePtr top, bottom;
@@ -1311,7 +1311,7 @@ miWideSegment (
PolyEdgePtr top, bottom;
int lefty, righty, topy, bottomy;
int signdx;
- PolyEdgeRec lefts[2], rights[2];
+ PolyEdgeRec lefts[4], rights[4];
LineFacePtr tface;
int lw = pGC->lineWidth;
@@ -1713,7 +1713,7 @@ miWideDashSegment (
PolyVertexRec vertices[4];
PolyVertexRec saveRight, saveBottom;
PolySlopeRec slopes[4];
- PolyEdgeRec left[2], right[2];
+ PolyEdgeRec left[4], right[4];
LineFaceRec lcapFace, rcapFace;
int nleft, nright;
int h;
diff --git a/nx-X11/programs/Xserver/os/WaitFor.c b/nx-X11/programs/Xserver/os/WaitFor.c
index 9db3faef1..3d53335b3 100644
--- a/nx-X11/programs/Xserver/os/WaitFor.c
+++ b/nx-X11/programs/Xserver/os/WaitFor.c
@@ -82,9 +82,6 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#ifdef WIN32
-#include <nx-X11/Xwinsock.h>
-#endif
#include <nx-X11/Xos.h> /* for strings, fcntl, time */
#include <errno.h>
#include <stdio.h>
@@ -105,22 +102,9 @@ static unsigned long startTimeInMillis;
#endif
-#ifdef WIN32
-/* Error codes from windows sockets differ from fileio error codes */
-#undef EINTR
-#define EINTR WSAEINTR
-#undef EINVAL
-#define EINVAL WSAEINVAL
-#undef EBADF
-#define EBADF WSAENOTSOCK
-/* Windows select does not set errno. Use GetErrno as wrapper for
- WSAGetLastError */
-#define GetErrno WSAGetLastError
-#else
/* This is just a fallback to errno to hide the differences between unix and
Windows in the code */
#define GetErrno() errno
-#endif
/* modifications by raphael */
int
@@ -484,30 +468,12 @@ WaitForSomething(int *pClientsReady)
if (XFD_ANYSET (&clientsReadable))
break;
-#ifdef WIN32
- /* Windows keyboard and mouse events are added to the input queue
- in Block- and WakupHandlers. There is no device to check if
- data is ready. So check here if new input is available */
-#if defined(NX_TRANS_SOCKET)
- if (*checkForInput[0] != *checkForInput[1])
- {
-#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
- fprintf(stderr, "WaitForSomething: Returning 0 because of (*checkForInput[0] != *checkForInput[1]).\n");
-#endif
- return 0;
- }
-#else
- if (*checkForInput[0] != *checkForInput[1])
- return 0;
-#endif
-#endif
}
}
nready = 0;
if (XFD_ANYSET (&clientsReadable))
{
-#ifndef WIN32
for (i=0; i<howmany(XFD_SETSIZE, NFDBITS); i++)
{
while (clientsReadable.fds_bits[i])
@@ -517,23 +483,9 @@ WaitForSomething(int *pClientsReady)
curclient = ffs (clientsReadable.fds_bits[i]) - 1;
client_index = /* raphael: modified */
ConnectionTranslation[curclient + (i * (sizeof(fd_mask) * 8))];
-#else
- fd_set savedClientsReadable;
- XFD_COPYSET(&clientsReadable, &savedClientsReadable);
- for (i = 0; i < XFD_SETCOUNT(&savedClientsReadable); i++)
- {
- int client_priority, client_index;
-
- curclient = XFD_FD(&savedClientsReadable, i);
- client_index = GetConnectionTranslation(curclient);
-#endif
pClientsReady[nready++] = client_index;
-#ifndef WIN32
clientsReadable.fds_bits[i] &= ~(((fd_mask)1L) << curclient);
}
-#else
- FD_CLR(curclient, &clientsReadable);
-#endif
}
}
#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_DEBUG)
diff --git a/nx-X11/programs/Xserver/os/access.c b/nx-X11/programs/Xserver/os/access.c
index df540e704..bea4b968a 100644
--- a/nx-X11/programs/Xserver/os/access.c
+++ b/nx-X11/programs/Xserver/os/access.c
@@ -58,9 +58,6 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#ifdef WIN32
-#include <nx-X11/Xwinsock.h>
-#endif
#include <stdio.h>
#include <stdlib.h>
@@ -75,14 +72,13 @@ SOFTWARE.
#include "site.h"
#include <errno.h>
#include <sys/types.h>
-#ifndef WIN32
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <ctype.h>
-#if defined(TCPCONN) || defined(ISC) || defined(__SCO__)
+#if defined(TCPCONN)
#include <netinet/in.h>
-#endif /* TCPCONN || ISC || __SCO__ */
+#endif /* TCPCONN */
#ifdef HAS_GETPEERUCRED
# include <ucred.h>
@@ -91,15 +87,11 @@ SOFTWARE.
# endif
#endif
-#if defined(SVR4) || (defined(SYSV) && defined(i386)) || defined(__GNU__)
+#if defined(SVR4) || (defined(SYSV) && defined(__i386__)) || defined(__GNU__)
# include <sys/utsname.h>
#endif
-#if defined(SYSV) && defined(i386)
+#if defined(SYSV) && defined(__i386__)
# include <sys/stream.h>
-# ifdef ISC
-# include <sys/stropts.h>
-# include <sys/sioctl.h>
-# endif /* ISC */
#endif
#ifdef __GNU__
#undef SIOCGIFCONF
@@ -145,7 +137,6 @@ SOFTWARE.
/* #endif */
#endif
-#endif /* WIN32 */
#ifndef PATH_MAX
#include <sys/param.h>
@@ -158,10 +149,6 @@ SOFTWARE.
#endif
#endif
-#ifdef __SCO__
-/* The system defined value is wrong. MAXPATHLEN is set in sco5.cf. */
-#undef PATH_MAX
-#endif
#define X_INCLUDE_NETDB_H
#include <nx-X11/Xos_r.h>
@@ -282,7 +269,7 @@ AccessUsingXdmcp (void)
}
-#if ((defined(SVR4) && !defined(SCO325) && !defined(sun) && !defined(NCR)) || defined(ISC)) && defined(SIOCGIFCONF) && !defined(USE_SIOCGLIFCONF)
+#if ((defined(SVR4) && !defined(SCO325) && !defined(sun) && !defined(NCR))) && defined(SIOCGIFCONF) && !defined(USE_SIOCGLIFCONF)
/* Deal with different SIOCGIFCONF ioctl semantics on these OSs */
@@ -299,17 +286,6 @@ ifioctl (int fd, int cmd, char *arg)
{
ioc.ic_len = ((struct ifconf *) arg)->ifc_len;
ioc.ic_dp = ((struct ifconf *) arg)->ifc_buf;
-#ifdef ISC
- /* SIOCGIFCONF is somewhat brain damaged on ISC. The argument
- * buffer must contain the ifconf structure as header. Ifc_req
- * is also not a pointer but a one element array of ifreq
- * structures. On return this array is extended by enough
- * ifreq fields to hold all interfaces. The return buffer length
- * is placed in the buffer header.
- */
- ((struct ifconf *) ioc.ic_dp)->ifc_len =
- ioc.ic_len - sizeof(struct ifconf);
-#endif
}
else
{
@@ -321,19 +297,11 @@ ifioctl (int fd, int cmd, char *arg)
#ifdef SVR4
((struct ifconf *) arg)->ifc_len = ioc.ic_len;
#endif
-#ifdef ISC
- {
- ((struct ifconf *) arg)->ifc_len =
- ((struct ifconf *)ioc.ic_dp)->ifc_len;
- ((struct ifconf *) arg)->ifc_buf =
- (caddr_t)((struct ifconf *)ioc.ic_dp)->ifc_req;
- }
-#endif
return(ret);
}
#else /* Case sun, SCO325 NCR and others */
#define ifioctl ioctl
-#endif /* ((SVR4 && !sun !SCO325 !NCR) || ISC) && SIOCGIFCONF */
+#endif /* ((SVR4 && !sun !SCO325 !NCR)) && SIOCGIFCONF */
/*
* DefineSelf (fd):
@@ -501,13 +469,7 @@ DefineSelf (int fd)
int family;
register HOST *host;
-#ifndef WIN32
struct utsname name;
-#else
- struct {
- char nodename[512];
- } name;
-#endif
register struct hostent *hp;
@@ -531,11 +493,7 @@ DefineSelf (int fd)
* uname() lets me access to the whole string (it smashes release, you
* see), whereas gethostname() kindly truncates it for me.
*/
-#ifndef WIN32
uname(&name);
-#else
- gethostname(name.nodename, sizeof(name.nodename));
-#endif
hp = _XGethostbyname(name.nodename, hparams);
if (hp != NULL)
@@ -723,11 +681,7 @@ DefineSelf (int fd)
ifc.ifc_buf = bufptr;
#define IFC_IOCTL_REQ SIOCGIFCONF
-#ifdef ISC
-#define IFC_IFC_REQ (struct ifreq *) ifc.ifc_buf
-#else
#define IFC_IFC_REQ ifc.ifc_req
-#endif /* ISC */
#define IFC_IFC_LEN ifc.ifc_len
#define IFR_IFR_ADDR ifr->ifr_addr
#define IFR_IFR_NAME ifr->ifr_name
@@ -1723,10 +1677,6 @@ ConvertAddr (
return FamilyLocal;
#if defined(TCPCONN)
case AF_INET:
-#ifdef WIN32
- if (16777343 == *(long*)&((struct sockaddr_in *) saddr)->sin_addr)
- return FamilyLocal;
-#endif
*len = sizeof (struct in_addr);
*addr = (void *) &(((struct sockaddr_in *) saddr)->sin_addr);
return FamilyInternet;
diff --git a/nx-X11/programs/Xserver/os/auth.c b/nx-X11/programs/Xserver/os/auth.c
index 84bc5c3c6..491b8c427 100644
--- a/nx-X11/programs/Xserver/os/auth.c
+++ b/nx-X11/programs/Xserver/os/auth.c
@@ -71,9 +71,6 @@ from The Open Group.
#define _SECURITY_SERVER
# include <nx-X11/extensions/security.h>
#endif
-#ifdef WIN32
-#include <nx-X11/Xw32defs.h>
-#endif
struct protocol {
unsigned short name_length;
diff --git a/nx-X11/programs/Xserver/os/connection.c b/nx-X11/programs/Xserver/os/connection.c
index c5ebeea1e..7deeec428 100644
--- a/nx-X11/programs/Xserver/os/connection.c
+++ b/nx-X11/programs/Xserver/os/connection.c
@@ -65,9 +65,6 @@ SOFTWARE.
#include <dix-config.h>
#endif
-#ifdef WIN32
-#include <nx-X11/Xwinsock.h>
-#endif
#include <nx-X11/X.h>
#include <nx-X11/Xproto.h>
#define XSERV_t
@@ -81,7 +78,6 @@ SOFTWARE.
#include <stdlib.h>
#include <unistd.h>
-#ifndef WIN32
#include <sys/socket.h>
#if defined(TCPCONN)
@@ -104,7 +100,6 @@ SOFTWARE.
#endif
#include <sys/uio.h>
-#endif /* WIN32 */
#include "misc.h"
#include "osdep.h"
#include <nx-X11/Xpoll.h>
@@ -155,98 +150,7 @@ int GrabInProgress = 0;
static void
QueueNewConnections(int curconn, int ready, void *data);
-#if !defined(WIN32)
int *ConnectionTranslation = NULL;
-#else
-/*
- * On NT fds are not between 0 and MAXSOCKS, they are unrelated, and there is
- * not even a known maximum value, so use something quite arbitrary for now.
- * Do storage is a hash table of size 256. Collisions are handled in a linked
- * list.
- */
-
-#undef MAXSOCKS
-#define MAXSOCKS 500
-#undef MAXSELECT
-#define MAXSELECT 500
-#define MAXFD 500
-
-struct _ct_node {
- struct _ct_node *next;
- int key;
- int value;
-};
-
-struct _ct_node *ct_head[256];
-
-void InitConnectionTranslation(void)
-{
- bzero(ct_head, sizeof(ct_head));
-}
-
-int GetConnectionTranslation(int conn)
-{
- struct _ct_node *node = ct_head[conn & 0xff];
- while (node != NULL)
- {
- if (node->key == conn)
- return node->value;
- node = node->next;
- }
- return 0;
-}
-
-void SetConnectionTranslation(int conn, int client)
-{
- struct _ct_node **node = ct_head + (conn & 0xff);
- if (client == 0) /* remove entry */
- {
- while (*node != NULL)
- {
- if ((*node)->key == conn)
- {
- struct _ct_node *temp = *node;
- *node = (*node)->next;
- free(temp);
- return;
- }
- node = &((*node)->next);
- }
- return;
- } else
- {
- while (*node != NULL)
- {
- if ((*node)->key == conn)
- {
- (*node)->value = client;
- return;
- }
- node = &((*node)->next);
- }
- *node = (struct _ct_node*)malloc(sizeof(struct _ct_node));
- (*node)->next = NULL;
- (*node)->key = conn;
- (*node)->value = client;
- return;
- }
-}
-
-void ClearConnectionTranslation(void)
-{
- unsigned i;
- for (i = 0; i < 256; i++)
- {
- struct _ct_node *node = ct_head[i];
- while (node != NULL)
- {
- struct _ct_node *temp = node;
- node = node->next;
- free(temp);
- }
- }
-}
-#endif
XtransConnInfo *ListenTransConns = NULL;
int *ListenTransFds = NULL;
@@ -318,11 +222,7 @@ InitConnectionLimits(void)
ErrorF("InitConnectionLimits: MaxClients = %d\n", MaxClients);
#endif
-#if !defined(WIN32)
ConnectionTranslation = (int *)xnfalloc(sizeof(int)*(lastfdesc + 1));
-#else
- InitConnectionTranslation();
-#endif
}
/*
@@ -341,7 +241,6 @@ InitConnectionLimits(void)
static void
InitParentProcess(void)
{
-#if !defined(WIN32)
OsSigHandlerPtr handler;
handler = OsSignal (SIGUSR1, SIG_IGN);
if ( handler == SIG_IGN)
@@ -357,13 +256,11 @@ InitParentProcess(void)
*/
ParentProcess = GetPPID (ParentProcess);
#endif /* __UNIXOS2__ */
-#endif
}
void
NotifyParentProcess(void)
{
-#if !defined(WIN32)
if (displayfd >= 0) {
#ifdef NXAGENT_SERVER
if (displayfd == STDERR_FILENO)
@@ -385,7 +282,6 @@ NotifyParentProcess(void)
kill (ParentProcess, SIGUSR1);
}
}
-#endif
}
static Bool
@@ -416,11 +312,7 @@ CreateWellKnownSockets(void)
FD_ZERO(&LastSelectMask);
FD_ZERO(&ClientsWithInput);
-#if !defined(WIN32)
for (i=0; i<MaxClients; i++) ConnectionTranslation[i] = 0;
-#else
- ClearConnectionTranslation();
-#endif
/* display is initialized to "0" by main(). It is then set to the display
* number if specified on the command line. */
@@ -473,10 +365,8 @@ CreateWellKnownSockets(void)
if (ListenTransCount == 0 && !NoListenAll)
FatalError ("Cannot establish any listening sockets - Make sure an X server isn't already running");
-#if !defined(WIN32)
OsSignal (SIGPIPE, SIG_IGN);
OsSignal (SIGHUP, AutoResetServer);
-#endif
OsSignal (SIGINT, GiveUp);
OsSignal (SIGTERM, GiveUp);
ResetHosts(display);
@@ -802,11 +692,7 @@ AllocNewConnection (XtransConnInfo trans_conn, int fd, CARD32 conn_time)
ClientPtr client;
if (
-#ifndef WIN32
fd >= lastfdesc
-#else
- XFD_SETCOUNT(&AllClients) >= MaxClients
-#endif
)
return NullClient;
oc = (OsCommPtr)malloc(sizeof(OsCommRec));
@@ -825,11 +711,7 @@ AllocNewConnection (XtransConnInfo trans_conn, int fd, CARD32 conn_time)
}
client->local = ComputeLocalClient(client);
{
-#if !defined(WIN32)
ConnectionTranslation[fd] = client->index;
-#else
- SetConnectionTranslation(fd, client->index);
-#endif
if (GrabInProgress)
{
FD_SET(fd, &SavedAllClients);
@@ -893,11 +775,7 @@ EstablishNewConnections(ClientPtr clientUnused, void * closure)
if (newconn < lastfdesc) {
int clientid;
-#if !defined(WIN32)
clientid = ConnectionTranslation[newconn];
-#else
- clientid = GetConnectionTranslation(newconn);
-#endif
if (clientid && (client = clients[clientid]))
CloseDownClient(client);
}
@@ -990,11 +868,7 @@ CloseDownFileDescriptor(OsCommPtr oc)
}
FreeOsBuffers(oc);
free(oc);
-#ifndef WIN32
ConnectionTranslation[connection] = 0;
-#else
- SetConnectionTranslation(connection, 0);
-#endif
FD_CLR(connection, &AllSockets);
FD_CLR(connection, &AllClients);
FD_CLR(connection, &ClientsWithInput);
@@ -1023,22 +897,16 @@ CloseDownFileDescriptor(OsCommPtr oc)
void
CheckConnections(void)
{
-#ifndef WIN32
fd_mask mask;
-#endif
fd_set tmask;
int curclient, curoff;
int i;
struct timeval notime;
int r;
-#ifdef WIN32
- fd_set savedAllClients;
-#endif
notime.tv_sec = 0;
notime.tv_usec = 0;
-#ifndef WIN32
for (i=0; i<howmany(XFD_SETSIZE, NFDBITS); i++)
{
mask = AllClients.fds_bits[i];
@@ -1054,18 +922,6 @@ CheckConnections(void)
mask &= ~((fd_mask)1 << curoff);
}
}
-#else
- XFD_COPYSET(&AllClients, &savedAllClients);
- for (i = 0; i < XFD_SETCOUNT(&savedAllClients); i++)
- {
- curclient = XFD_FD(&savedAllClients, i);
- FD_ZERO(&tmask);
- FD_SET(curclient, &tmask);
- r = Select (curclient + 1, &tmask, NULL, NULL, &notime);
- if (r < 0)
- CloseDownClient(clients[GetConnectionTranslation(curclient)]);
- }
-#endif
}
diff --git a/nx-X11/programs/Xserver/os/io.c b/nx-X11/programs/Xserver/os/io.c
index 02a47f135..7f35a81f1 100644
--- a/nx-X11/programs/Xserver/os/io.c
+++ b/nx-X11/programs/Xserver/os/io.c
@@ -60,9 +60,6 @@ SOFTWARE.
#if 0
#define DEBUG_COMMUNICATION
#endif
-#ifdef WIN32
-#include <nx-X11/Xwinsock.h>
-#endif
#include <stdio.h>
#define XSERV_t
#define TRANS_SERVER
@@ -70,9 +67,7 @@ SOFTWARE.
#include <nx-X11/Xtrans/Xtrans.h>
#include <nx-X11/Xmd.h>
#include <errno.h>
-#if !defined(WIN32)
#include <sys/uio.h>
-#endif
#include <nx-X11/X.h>
#include <nx-X11/Xproto.h>
#include "os.h"
@@ -88,7 +83,6 @@ CallbackListPtr FlushCallback;
/* check for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX
* systems are broken and return EWOULDBLOCK when they should return EAGAIN
*/
-#ifndef WIN32
#if defined(EAGAIN) && defined(EWOULDBLOCK)
#define ETEST(err) (err == EAGAIN || err == EWOULDBLOCK)
#else
@@ -98,9 +92,6 @@ CallbackListPtr FlushCallback;
#define ETEST(err) (err == EWOULDBLOCK)
#endif
#endif
-#else /* WIN32 The socket errorcodes differ from the normal errors*/
-#define ETEST(err) (err == EAGAIN || err == WSAEWOULDBLOCK)
-#endif
Bool CriticalOutputPending;
int timesThisConnection = 0;
@@ -358,7 +349,7 @@ ReadRequestFromClient(ClientPtr client)
{
if ((result < 0) && ETEST(errno))
{
-#if defined(SVR4) && defined(i386) && !defined(sun)
+#if defined(SVR4) && defined(__i386__) && !defined(sun)
if (0)
#endif
{
@@ -777,9 +768,6 @@ FlushAllOutput(void)
OsCommPtr oc;
register ClientPtr client;
Bool newoutput = NewOutputPending;
-#if defined(WIN32)
- fd_set newOutputPending;
-#endif
if (!newoutput)
return;
@@ -792,7 +780,6 @@ FlushAllOutput(void)
CriticalOutputPending = FALSE;
NewOutputPending = FALSE;
-#ifndef WIN32
for (base = 0; base < howmany(XFD_SETSIZE, NFDBITS); base++)
{
mask = OutputPending.fds_bits[ base ];
@@ -817,28 +804,6 @@ FlushAllOutput(void)
(void)FlushClient(client, oc, (char *)NULL, 0);
}
}
-#else /* WIN32 */
- FD_ZERO(&newOutputPending);
- for (base = 0; base < XFD_SETCOUNT(&OutputPending); base++)
- {
- index = XFD_FD(&OutputPending, base);
- if ((index = GetConnectionTranslation(index)) == 0)
- continue;
- client = clients[index];
- if (client->clientGone)
- continue;
- oc = (OsCommPtr)client->osPrivate;
- if (
- FD_ISSET(oc->fd, &ClientsWithInput))
- {
- FD_SET(oc->fd, &newOutputPending); /* set the bit again */
- NewOutputPending = TRUE;
- }
- else
- (void)FlushClient(client, oc, (char *)NULL, 0);
- }
- XFD_COPYSET(&newOutputPending, &OutputPending);
-#endif /* WIN32 */
}
void
diff --git a/nx-X11/programs/Xserver/os/log.c b/nx-X11/programs/Xserver/os/log.c
index 0ead6e9f0..3ec3a2779 100644
--- a/nx-X11/programs/Xserver/os/log.c
+++ b/nx-X11/programs/Xserver/os/log.c
@@ -117,10 +117,6 @@ OR PERFORMANCE OF THIS SOFTWARE.
#include "site.h"
#include "opaque.h"
-#ifdef WIN32
-#include <process.h>
-#define getpid(x) _getpid(x)
-#endif
#ifdef NX_TRANS_SOCKET
@@ -268,9 +264,7 @@ LogInit(const char *fname, const char *backup)
if (saveBuffer && bufferSize > 0) {
fwrite(saveBuffer, bufferPos, 1, logFile);
fflush(logFile);
-#ifndef WIN32
fsync(fileno(logFile));
-#endif
}
}
@@ -398,10 +392,8 @@ LogVWrite(int verb, const char *f, va_list args)
fwrite(tmpBuffer, len, 1, logFile);
if (logFlush) {
fflush(logFile);
-#ifndef WIN32
if (logSync)
fsync(fileno(logFile));
-#endif
}
} else if (needBuffer) {
/*
@@ -730,11 +722,9 @@ ErrorF(const char * f, ...)
#ifndef NEED_STRERROR
#ifdef SYSV
-#if !defined(ISC) || defined(ISC202) || defined(ISC22)
#define NEED_STRERROR
#endif
#endif
-#endif
#if defined(NEED_STRERROR) && !defined(strerror)
extern char *sys_errlist[];
diff --git a/nx-X11/programs/Xserver/os/osdep.h b/nx-X11/programs/Xserver/os/osdep.h
index 01ae7c3fb..5985cfef2 100644
--- a/nx-X11/programs/Xserver/os/osdep.h
+++ b/nx-X11/programs/Xserver/os/osdep.h
@@ -69,11 +69,6 @@ SOFTWARE.
#undef _POSIX_SOURCE
#endif
#else /* X_NOT_POSIX */
-#ifdef WIN32
-#define _POSIX_
-#include <limits.h>
-#undef _POSIX_
-#endif
#endif /* X_NOT_POSIX */
#ifndef OPEN_MAX
@@ -85,11 +80,7 @@ SOFTWARE.
#if defined(NOFILE) && !defined(NOFILES_MAX)
#define OPEN_MAX NOFILE
#else
-#if !defined(WIN32)
#define OPEN_MAX NOFILES_MAX
-#else
-#define OPEN_MAX 256
-#endif
#endif
#endif
#endif
@@ -213,13 +204,7 @@ extern fd_set ClientsWriteBlocked;
extern fd_set OutputPending;
extern fd_set IgnoredClientsWithInput;
-#ifndef WIN32
extern int *ConnectionTranslation;
-#else
-extern int GetConnectionTranslation(int conn);
-extern void SetConnectionTranslation(int conn, int client);
-extern void ClearConnectionTranslation();
-#endif
extern Bool NewOutputPending;
extern Bool AnyWritesPending;
@@ -234,9 +219,6 @@ extern OsCommPtr AvailableInput;
extern WorkQueuePtr workQueue;
/* added by raphael */
-#ifdef WIN32
-typedef long int fd_mask;
-#endif
#define ffs mffs
extern int mffs(fd_mask);
diff --git a/nx-X11/programs/Xserver/os/osinit.c b/nx-X11/programs/Xserver/os/osinit.c
index a660337ca..823656316 100644
--- a/nx-X11/programs/Xserver/os/osinit.c
+++ b/nx-X11/programs/Xserver/os/osinit.c
@@ -65,11 +65,8 @@ SOFTWARE.
#endif
#endif
-#if defined(__SCO__)
-#include <sys/wait.h>
-#endif
-#if !defined(SYSV) && !defined(WIN32)
+#if !defined(SYSV)
#include <sys/resource.h>
#endif
@@ -104,7 +101,7 @@ OsInit(void)
InitNotifyFds();
-#if !defined(__SCO__) && !defined(__CYGWIN__) && !defined(__UNIXWARE__)
+#if !defined(__CYGWIN__)
fclose(stdin);
fclose(stdout);
#endif
@@ -134,7 +131,7 @@ OsInit(void)
dup2 (fileno (err), 2);
fclose (err);
}
-#if defined(SYSV) || defined(SVR4) || defined(WIN32) || defined(__CYGWIN__)
+#if defined(SYSV) || defined(SVR4) || defined(__CYGWIN__)
{
static char buf[BUFSIZ];
setvbuf (stderr, buf, _IOLBF, BUFSIZ);
@@ -148,7 +145,7 @@ OsInit(void)
if (getpgrp () == 0)
setpgid (0, 0);
#else
-#if !defined(SYSV) && !defined(WIN32)
+#if !defined(SYSV)
if (getpgrp (0) == 0)
setpgrp (0, getpid ());
#endif
diff --git a/nx-X11/programs/Xserver/os/utils.c b/nx-X11/programs/Xserver/os/utils.c
index f9b06de2d..eed8cbf13 100644
--- a/nx-X11/programs/Xserver/os/utils.c
+++ b/nx-X11/programs/Xserver/os/utils.c
@@ -83,9 +83,6 @@ OR PERFORMANCE OF THIS SOFTWARE.
#include <signal.h>
#endif
-#if defined(WIN32) && !defined(__CYGWIN__)
-#include <nx-X11/Xwinsock.h>
-#endif
#include <nx-X11/Xos.h>
#include <stdio.h>
#include "misc.h"
@@ -115,10 +112,8 @@ OR PERFORMANCE OF THIS SOFTWARE.
#undef _POSIX_SOURCE
#endif
#endif
-#ifndef WIN32
#include <sys/wait.h>
-#endif
-#if !defined(SYSV) && !defined(WIN32)
+#if !defined(SYSV)
#include <sys/resource.h>
#endif
#include <time.h>
@@ -132,9 +127,7 @@ OR PERFORMANCE OF THIS SOFTWARE.
#include <stdlib.h> /* for malloc() */
#if defined(TCPCONN)
-# ifndef WIN32
# include <netdb.h>
-# endif
#endif
#include "opaque.h"
@@ -910,7 +903,7 @@ ProcessCommandLine(int argc, char *argv[])
#ifdef SERVER_LOCK
else if ( strcmp ( argv[i], "-nolock") == 0)
{
-#if !defined(WIN32) && !defined(__CYGWIN__)
+#if !defined(__CYGWIN__)
if (getuid() != 0)
ErrorF("Warning: the -nolock option can only be used by root\n");
else
@@ -1230,7 +1223,7 @@ ExpandCommandLine(int *pargc, char ***pargv)
{
int i;
-#if !defined(WIN32) && !defined(__CYGWIN__)
+#if !defined(__CYGWIN__)
if (getuid() != geteuid())
return;
#endif
@@ -1566,7 +1559,6 @@ OsReleaseSignals (void)
#endif
}
-#if !defined(WIN32)
/*
* "safer" versions of system(3), popen(3) and pclose(3) which give up
* all privs before running a command.
@@ -1948,7 +1940,6 @@ Fclose(void * iop)
#endif
}
-#endif /* !WIN32 */
/*
@@ -1981,11 +1972,7 @@ Fclose(void * iop)
/* Check args and env only if running setuid (euid == 0 && euid != uid) ? */
#ifndef CHECK_EUID
-#ifndef WIN32
#define CHECK_EUID 1
-#else
-#define CHECK_EUID 0
-#endif
#endif
/*
@@ -2232,52 +2219,3 @@ CheckUserAuthorization(void)
#endif
}
-#ifdef __SCO__
-#include <fcntl.h>
-
-static void
-lockit (int fd, short what)
-{
- struct flock lck;
-
- lck.l_whence = 0;
- lck.l_start = 0;
- lck.l_len = 1;
- lck.l_type = what;
-
- (void)fcntl (fd, F_SETLKW, &lck);
-}
-
-/* SCO OpenServer 5 lacks pread/pwrite. Emulate them. */
-ssize_t
-pread (int fd, void *buf, size_t nbytes, off_t offset)
-{
- off_t saved;
- ssize_t ret;
-
- lockit (fd, F_RDLCK);
- saved = lseek (fd, 0, SEEK_CUR);
- lseek (fd, offset, SEEK_SET);
- ret = read (fd, buf, nbytes);
- lseek (fd, saved, SEEK_SET);
- lockit (fd, F_UNLCK);
-
- return ret;
-}
-
-ssize_t
-pwrite (int fd, const void *buf, size_t nbytes, off_t offset)
-{
- off_t saved;
- ssize_t ret;
-
- lockit (fd, F_WRLCK);
- saved = lseek (fd, 0, SEEK_CUR);
- lseek (fd, offset, SEEK_SET);
- ret = write (fd, buf, nbytes);
- lseek (fd, saved, SEEK_SET);
- lockit (fd, F_UNLCK);
-
- return ret;
-}
-#endif /* __SCO__ */
diff --git a/nx-X11/programs/Xserver/os/xdmcp.c b/nx-X11/programs/Xserver/os/xdmcp.c
index 3a077d8f4..8da1131ed 100644
--- a/nx-X11/programs/Xserver/os/xdmcp.c
+++ b/nx-X11/programs/Xserver/os/xdmcp.c
@@ -17,22 +17,13 @@
#include <dix-config.h>
#endif
-#ifdef WIN32
-#include <nx-X11/Xwinsock.h>
-#define XSERV_t
-#define TRANS_SERVER
-#define TRANS_REOPEN
-#include <nx-X11/Xtrans/Xtrans.h>
-#endif
#include <nx-X11/Xos.h>
-#if !defined(WIN32)
#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
-#endif
#include <stdio.h>
#include <stdlib.h>
@@ -1507,9 +1498,6 @@ get_addr_by_name(
#ifdef XTHREADS_NEEDS_BYNAMEPARAMS
_Xgethostbynameparams hparams;
#endif
-#if defined(WIN32) && defined(TCPCONN)
- _XSERVTransWSAStartup();
-#endif
if (!(hep = _XGethostbyname(namestr, hparams)))
{
FatalError("Xserver: %s unknown host: %s\n", argtype, namestr);
diff --git a/nx-X11/programs/Xserver/xkb/xkbActions.c b/nx-X11/programs/Xserver/xkb/xkbActions.c
index a39e5c8f2..eadef3bee 100644
--- a/nx-X11/programs/Xserver/xkb/xkbActions.c
+++ b/nx-X11/programs/Xserver/xkb/xkbActions.c
@@ -84,7 +84,7 @@ XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc)
void
XkbFreePrivates(DeviceIntPtr device)
{
- if (device &&
+ if (device &&
device->devPrivates &&
device->nPrivates > 0 &&
xkbDevicePrivateIndex != -1 &&