diff --git a/os/connection.c b/os/connection.c index c143fb6d3..77910be52 100644 --- a/os/connection.c +++ b/os/connection.c @@ -1033,6 +1033,9 @@ CloseDownConnection(ClientPtr client) { OsCommPtr oc = (OsCommPtr)client->osPrivate; + if (FlushCallback) + CallCallbacks(&FlushCallback, NULL); + if (oc->output && oc->output->count) FlushClient(client, oc, (char *)NULL, 0); #ifdef XDMCP diff --git a/os/io.c b/os/io.c index b5f98b7fa..e2df2e3ed 100644 --- a/os/io.c +++ b/os/io.c @@ -819,6 +819,10 @@ WriteToClient (ClientPtr who, int count, const void *__buf) CriticalOutputPending = FALSE; NewOutputPending = FALSE; } + + if (FlushCallback) + CallCallbacks(&FlushCallback, NULL); + return FlushClient(who, oc, buf, count); }