diff --git a/randr/rrproperty.c b/randr/rrproperty.c index 8df9790f1..610f5bb8d 100644 --- a/randr/rrproperty.c +++ b/randr/rrproperty.c @@ -495,16 +495,14 @@ ProcRRQueryOutputProperty(ClientPtr client) swaps(&rep.sequenceNumber); swapl(&rep.length); } + WriteToClient(client, sizeof(xRRQueryOutputPropertyReply), &rep); if (prop->num_valid) { memcpy(extra, prop->valid_values, prop->num_valid * sizeof(INT32)); - if (client->swapped) - SwapLongs((CARD32*)extra, prop->num_valid); + client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write; + WriteSwappedDataToClient(client, prop->num_valid * sizeof(INT32), + extra); + free(extra); } - - WriteToClient(client, sizeof(xRRQueryOutputPropertyReply), &rep); - WriteToClient(client, prop->num_valid * sizeof(INT32), extra); - free(extra); - return Success; }