summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--composite/compext.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/composite/compext.c b/composite/compext.c
index b95bf999e..5b17dae53 100644
--- a/composite/compext.c
+++ b/composite/compext.c
@@ -499,16 +499,17 @@ SProcCompositeDispatch(ClientPtr client)
}
/** @see GetDefaultBytes */
+static SizeType coreGetWindowBytes;
+
static void
-GetCompositeClientWindowBytes(void *value, XID id, ResourceSizePtr size)
+GetCompositeWindowBytes(void *value, XID id, ResourceSizePtr size)
{
WindowPtr window = value;
- /* Currently only pixmap bytes are reported to clients. */
- size->resourceSize = 0;
+ /* call down */
+ coreGetWindowBytes(value, id, size);
- /* Calculate pixmap reference sizes. */
- size->pixmapRefSize = 0;
+ /* account for redirection */
if (window->redirectDraw != RedirectDrawNone)
{
SizeType pixmapSizeFunc = GetResourceTypeSizeFunc(RT_PIXMAP);
@@ -552,8 +553,8 @@ CompositeExtensionInit(void)
if (!CompositeClientWindowType)
return;
- SetResourceTypeSizeFunc(CompositeClientWindowType,
- GetCompositeClientWindowBytes);
+ coreGetWindowBytes = GetResourceTypeSizeFunc(RT_WINDOW);
+ SetResourceTypeSizeFunc(RT_WINDOW, GetCompositeWindowBytes);
CompositeClientSubwindowsType = CreateNewResourceType
(FreeCompositeClientSubwindows, "CompositeClientSubwindows");