diff options
Diffstat (limited to 'xorg-server/Xi/queryst.c')
-rw-r--r-- | xorg-server/Xi/queryst.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/xorg-server/Xi/queryst.c b/xorg-server/Xi/queryst.c index ffb6de04a..04a652be3 100644 --- a/xorg-server/Xi/queryst.c +++ b/xorg-server/Xi/queryst.c @@ -87,11 +87,6 @@ ProcXQueryDeviceState(ClientPtr client) REQUEST(xQueryDeviceStateReq); REQUEST_SIZE_MATCH(xQueryDeviceStateReq); - rep.repType = X_Reply; - rep.RepType = X_QueryDeviceState; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rc = dixLookupDevice(&dev, stuff->deviceid, client, DixReadAccess); if (rc != Success && rc != BadAccess) return rc; @@ -163,8 +158,13 @@ ProcXQueryDeviceState(ClientPtr client) } } - rep.num_classes = num_classes; - rep.length = bytes_to_int32(total_length); + rep = (xQueryDeviceStateReply) { + .repType = X_Reply, + .RepType = X_QueryDeviceState, + .sequenceNumber = client->sequence, + .length = bytes_to_int32(total_length), + .num_classes = num_classes + }; WriteReplyToClient(client, sizeof(xQueryDeviceStateReply), &rep); if (total_length > 0) WriteToClient(client, total_length, savbuf); @@ -184,5 +184,5 @@ SRepXQueryDeviceState(ClientPtr client, int size, xQueryDeviceStateReply * rep) { swaps(&rep->sequenceNumber); swapl(&rep->length); - WriteToClient(client, size, (char *) rep); + WriteToClient(client, size, rep); } |