diff options
author | Julien Cristau <jcristau@debian.org> | 2008-11-26 21:19:55 +0100 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2008-12-03 17:33:47 +0100 |
commit | 0b5ecabfb803cd820338fb0364521fe39b05578b (patch) | |
tree | cc0099bc0a8fb59635c921dbe85520b7d8b77d65 /randr/rrcrtc.c | |
parent | 110a71d11ab7a1a55a6a24d792457fdef0b0746d (diff) |
randr: add swapped dispatch for RR[GS]etCrtcTransform
Fix a memory leak in ProcRRGetCrtcTransform() while I'm at it.
Signed-off-by: Julien Cristau <jcristau@debian.org>
Cc: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'randr/rrcrtc.c')
-rw-r--r-- | randr/rrcrtc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c index 5d270ce12..90d93b513 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c @@ -1150,8 +1150,7 @@ transform_filter_encode (ClientPtr client, char *output, if (client->swapped) { swaps (nbytesFilter, n); swaps (nparamsFilter, n); - SwapLongs ((CARD32 *) (output + nbytes), - nparams * sizeof (xFixed)); + SwapLongs ((CARD32 *) (output + nbytes), nparams); } nbytes += nparams * sizeof (xFixed); return nbytes; @@ -1162,7 +1161,7 @@ transform_encode (ClientPtr client, xRenderTransform *wire, PictTransform *pict) { xRenderTransform_from_PictTransform (wire, pict); if (client->swapped) - SwapLongs ((CARD32 *) wire, sizeof (xRenderTransform)); + SwapLongs ((CARD32 *) wire, sizeof (xRenderTransform) >> 2); } int @@ -1214,5 +1213,6 @@ ProcRRGetCrtcTransform (ClientPtr client) swapl (&reply->length, n); } WriteToClient (client, sizeof (xRRGetCrtcTransformReply) + nextra, (char *) reply); + xfree(reply); return client->noClientException; } |