From 51e60ada36f6bd41b87d87fddb2c30b2aed74bf8 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Fri, 3 May 2019 23:50:45 +0200 Subject: NXdispatch.c: add FIXME --- nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c index 00fb4ddd8..2877d24a0 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c @@ -1140,6 +1140,8 @@ CloseDownClient(register ClientPtr client) xorg_CloseDownClient(client); } +/* FIXME: Instead of having a own function use the provided Callback + mechanism */ int InitClientPrivates(ClientPtr client) { -- cgit v1.2.3 From 2b9a6ddc2fb90ecf8f5ef0ab839345bb5916df52 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Fri, 3 May 2019 22:46:33 +0200 Subject: NXdispatch.c: cleanup ProcCloseFont() minimize differences to dix/dispatch.c --- nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c index 2877d24a0..00bd14734 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c @@ -807,7 +807,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 -- cgit v1.2.3 From 25677711bb4cc0633c28a28bdc055a6b0942204e Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 3 Dec 2019 22:42:24 +0100 Subject: NXDispatch.c: mark NX changes --- nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c index 00bd14734..852715fdf 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c @@ -245,6 +245,7 @@ Dispatch(void) InitSelections(); nClients = 0; +#ifdef NXAGENT_SERVER /* * The agent initialization was successfully * completed. We can now handle our clients. @@ -269,10 +270,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 +306,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio if (!(dispatchException & DE_TERMINATE)) dispatchException = 0; +#endif /* NXAGENT_SERVER */ while (!dispatchException) { @@ -312,6 +316,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 +356,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 +385,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio nxagentClients = nClients; #endif +#endif /* NXAGENT_SERVER */ if (nready) { @@ -423,10 +431,12 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio } /* now, finally, deal with client requests */ +#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 +445,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 +473,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 +501,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(); @@ -526,6 +532,8 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio #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 +567,7 @@ Reply Total Cached Bits In Bits Out Bits/Reply Ratio NXShadowDestroy(); } saveAgentState("TERMINATED"); +#endif /* NXAGENT_SERVER */ KillAllClients(); free(clientReady); @@ -580,7 +589,9 @@ ProcReparentWindow(register ClientPtr client) if (!pWin) return(BadWindow); +#ifdef NXAGENT_SERVER nxagentRemoveSplashWindow(); +#endif pParent = (WindowPtr)SecurityLookupWindow(stuff->parent, client, DixWriteAccess); -- cgit v1.2.3 From bccf81ea062c6a6c4066ed5453c44b89c63f7f5f Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 3 Dec 2019 22:54:14 +0100 Subject: NXdispatch.c: port forgotten patch had been forgotten in 7a2836f8db9941aaefd88b595f43589ff513b53e --- nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c index 852715fdf..aae2b2efc 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c @@ -431,6 +431,9 @@ 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", -- cgit v1.2.3 From 12358d64a44889eef243eb316ca1ac962cca5422 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sun, 29 Dec 2019 00:48:43 +0100 Subject: nxagent: remove another xprint renmant reqeuestingClient was dropped with the XPRINT drop. Unfortunetely we are usign it in Image.c. So let's introduce nxagentRequestingClient as replacement for now. --- nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c index aae2b2efc..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) { @@ -413,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) { @@ -528,7 +536,9 @@ 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; } -- cgit v1.2.3