aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/damageext/damageext.c1
-rw-r--r--xorg-server/os/connection.c3
-rw-r--r--xorg-server/os/io.c4
3 files changed, 8 insertions, 0 deletions
diff --git a/xorg-server/damageext/damageext.c b/xorg-server/damageext/damageext.c
index fb60e7f72..d4301f10b 100644
--- a/xorg-server/damageext/damageext.c
+++ b/xorg-server/damageext/damageext.c
@@ -217,6 +217,7 @@ ProcDamageCreate (ClientPtr client)
if (!AddResource (stuff->damage, DamageExtType, (pointer) pDamageExt))
return BadAlloc;
+ DamageSetReportAfterOp (pDamageExt->pDamage, TRUE);
DamageRegister (pDamageExt->pDrawable, pDamageExt->pDamage);
if (pDrawable->type == DRAWABLE_WINDOW)
diff --git a/xorg-server/os/connection.c b/xorg-server/os/connection.c
index eb171612b..0b46097ef 100644
--- a/xorg-server/os/connection.c
+++ b/xorg-server/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/xorg-server/os/io.c b/xorg-server/os/io.c
index c617405b3..c9488b280 100644
--- a/xorg-server/os/io.c
+++ b/xorg-server/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);
}