diff options
Diffstat (limited to 'xorg-server/randr/rrxinerama.c')
-rw-r--r-- | xorg-server/randr/rrxinerama.c | 83 |
1 files changed, 41 insertions, 42 deletions
diff --git a/xorg-server/randr/rrxinerama.c b/xorg-server/randr/rrxinerama.c index 76d728c70..86a19757b 100644 --- a/xorg-server/randr/rrxinerama.c +++ b/xorg-server/randr/rrxinerama.c @@ -89,15 +89,14 @@ static int SProcRRXineramaDispatch(ClientPtr client); int ProcRRXineramaQueryVersion(ClientPtr client) { - xPanoramiXQueryVersionReply rep = { - .type = X_Reply, - .sequenceNumber = client->sequence, - .length = 0, - .majorVersion = SERVER_RRXINERAMA_MAJOR_VERSION, - .minorVersion = SERVER_RRXINERAMA_MINOR_VERSION - }; + xPanoramiXQueryVersionReply rep; REQUEST_SIZE_MATCH(xPanoramiXQueryVersionReq); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = 0; + rep.majorVersion = SERVER_RRXINERAMA_MAJOR_VERSION; + rep.minorVersion = SERVER_RRXINERAMA_MINOR_VERSION; if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); @@ -131,13 +130,13 @@ ProcRRXineramaGetState(ClientPtr client) active = TRUE; } - rep = (xPanoramiXGetStateReply) { - .type = X_Reply, - .state = active, - .sequenceNumber = client->sequence, - .length = 0, - .window = stuff->window - }; + + rep.type = X_Reply; + rep.state = active; + rep.sequenceNumber = client->sequence; + rep.length = 0; + rep.window = stuff->window; + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); @@ -197,13 +196,13 @@ ProcRRXineramaGetScreenCount(ClientPtr client) if (rc != Success) return rc; - rep = (xPanoramiXGetScreenCountReply) { - .type = X_Reply, - .ScreenCount = RRXineramaScreenCount(pWin->drawable.pScreen), - .sequenceNumber = client->sequence, - .length = 0, - .window = stuff->window - }; + + rep.type = X_Reply; + rep.ScreenCount = RRXineramaScreenCount(pWin->drawable.pScreen); + rep.sequenceNumber = client->sequence; + rep.length = 0; + rep.window = stuff->window; + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); @@ -230,15 +229,15 @@ ProcRRXineramaGetScreenSize(ClientPtr client) pScreen = pWin->drawable.pScreen; pRoot = pScreen->root; - rep = (xPanoramiXGetScreenSizeReply) { - .type = X_Reply, - .sequenceNumber = client->sequence, - .length = 0, - .width = pRoot->drawable.width, - .height = pRoot->drawable.height, - .window = stuff->window, - .screen = stuff->screen - }; + + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = 0; + rep.width = pRoot->drawable.width; + rep.height = pRoot->drawable.height; + rep.window = stuff->window; + rep.screen = stuff->screen; + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); @@ -258,12 +257,12 @@ ProcRRXineramaIsActive(ClientPtr client) REQUEST_SIZE_MATCH(xXineramaIsActiveReq); - rep = (xXineramaIsActiveReply) { - .type = X_Reply, - .length = 0, - .sequenceNumber = client->sequence, - .state = RRXineramaScreenActive(screenInfo.screens[RR_XINERAMA_SCREEN]) - }; + memset(&rep, 0, sizeof(xXineramaIsActiveReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + rep.state = RRXineramaScreenActive(screenInfo.screens[RR_XINERAMA_SCREEN]); + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); @@ -327,12 +326,12 @@ ProcRRXineramaQueryScreens(ClientPtr client) n = RRXineramaScreenCount(pScreen); } - rep = (xXineramaQueryScreensReply) { - .type = X_Reply, - .sequenceNumber = client->sequence, - .length = bytes_to_int32(n * sz_XineramaScreenInfo), - .number = n - }; + + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = bytes_to_int32(n * sz_XineramaScreenInfo); + rep.number = n; + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); |