diff options
Diffstat (limited to 'xorg-server')
-rw-r--r-- | xorg-server/damageext/damageext.c | 1 | ||||
-rw-r--r-- | xorg-server/os/connection.c | 3 | ||||
-rw-r--r-- | xorg-server/os/io.c | 4 |
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);
}
|