diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2019-05-03 23:15:02 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2019-11-02 11:30:36 +0100 |
commit | 24c42813d8c2d9ced7233bf97a0026f72067d917 (patch) | |
tree | abe4a1fac91e5aa6a90067edae05ccf4b0995695 /nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | |
parent | c02ab70efa7b9927b8459495a5ee11f50b17667c (diff) | |
download | nx-libs-24c42813d8c2d9ced7233bf97a0026f72067d917.tar.gz nx-libs-24c42813d8c2d9ced7233bf97a0026f72067d917.tar.bz2 nx-libs-24c42813d8c2d9ced7233bf97a0026f72067d917.zip |
NXdispatch.c: call upstream CloseDownClient()
remove ~80 duplicate lines
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c | 85 |
1 files changed, 1 insertions, 84 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c index 9e365f372..c427c05f2 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c @@ -128,8 +128,6 @@ Equipment Corporation. const int nxagentMaxFontNames = 10000; -char dispatchExceptionAtReset = DE_RESET; - /* * This allows the agent to exit if no * client is connected within a timeout. @@ -1089,9 +1087,6 @@ int ProcForceScreenSaver(register ClientPtr client) void CloseDownClient(register ClientPtr client) { - Bool really_close_down = client->clientGone || - client->closeDownMode == DestroyAll; - /* * There must be a better way to hook a * call-back function to be called any @@ -1114,85 +1109,7 @@ CloseDownClient(register ClientPtr client) nxagentCheckIfShadowAgent(client); - if (!client->clientGone) - { - /* ungrab server if grabbing client dies */ - if (grabState != GrabNone && grabClient == client) - { - UngrabServer(client); - } - BITCLEAR(grabWaiters, client->index); - DeleteClientFromAnySelections(client); - ReleaseActiveGrabs(client); - DeleteClientFontStuff(client); - if (!really_close_down) - { - /* This frees resources that should never be retained - * no matter what the close down mode is. Actually we - * could do this unconditionally, but it's probably - * better not to traverse all the client's resources - * twice (once here, once a few lines down in - * FreeClientResources) in the common case of - * really_close_down == TRUE. - */ - FreeClientNeverRetainResources(client); - client->clientState = ClientStateRetained; - if (ClientStateCallback) - { - NewClientInfoRec clientinfo; - - clientinfo.client = client; - clientinfo.prefix = (xConnSetupPrefix *)NULL; - clientinfo.setup = (xConnSetup *) NULL; - CallCallbacks((&ClientStateCallback), (void *)&clientinfo); - } - } - client->clientGone = TRUE; /* so events aren't sent to client */ - if (ClientIsAsleep(client)) - ClientSignal (client); - ProcessWorkQueueZombies(); - CloseDownConnection(client); - - /* If the client made it to the Running stage, nClients has - * been incremented on its behalf, so we need to decrement it - * now. If it hasn't gotten to Running, nClients has *not* - * been incremented, so *don't* decrement it. - */ - if (client->clientState != ClientStateInitial && - client->clientState != ClientStateAuthenticating ) - { - --nClients; - } - } - - if (really_close_down) - { - if (client->clientState == ClientStateRunning && nClients == 0) - dispatchException |= dispatchExceptionAtReset; - - client->clientState = ClientStateGone; - if (ClientStateCallback) - { - NewClientInfoRec clientinfo; - - clientinfo.client = client; - clientinfo.prefix = (xConnSetupPrefix *)NULL; - clientinfo.setup = (xConnSetup *) NULL; - CallCallbacks((&ClientStateCallback), (void *)&clientinfo); - } - FreeClientResources(client); - /* Disable client ID tracking. This must be done after - * ClientStateCallback. */ - ReleaseClientIds(client); - if (client->index < nextFreeClientID) - nextFreeClientID = client->index; - clients[client->index] = NullClient; - SmartLastClient = NullClient; - free(client); - - while (!clients[currentMaxClients-1]) - currentMaxClients--; - } + xorg_CloseDownClient(client); } int |