We were missing the callback in a couple of places. Drivers may use the flush callback to submit batched up rendering before events (for example, damage events) are sent out, to ensure that the rendering has happend when the client receives the event.
Signed-off-by: Kristian Høgsberg <[email protected]> --- os/connection.c | 3 +++ os/io.c | 4 ++++ 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/os/connection.c b/os/connection.c index c143fb6..77910be 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 b5f98b7..e2df2e3 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); } -- 1.7.2 _______________________________________________ [email protected]: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: [email protected]
