diff options
Diffstat (limited to 'xorg-server/Xext/shape.c')
-rw-r--r-- | xorg-server/Xext/shape.c | 77 |
1 files changed, 38 insertions, 39 deletions
diff --git a/xorg-server/Xext/shape.c b/xorg-server/Xext/shape.c index d36867cc8..dfe6fe70b 100644 --- a/xorg-server/Xext/shape.c +++ b/xorg-server/Xext/shape.c @@ -26,6 +26,8 @@ in this Software without prior written authorization from The Open Group. #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> +#else +#define SHAPE #endif #include <stdlib.h> @@ -204,16 +206,15 @@ CreateClipShape(WindowPtr pWin) static int ProcShapeQueryVersion(ClientPtr client) { - xShapeQueryVersionReply rep = { - .type = X_Reply, - .sequenceNumber = client->sequence, - .length = 0, - .majorVersion = SERVER_SHAPE_MAJOR_VERSION, - .minorVersion = SERVER_SHAPE_MINOR_VERSION - }; + xShapeQueryVersionReply rep; REQUEST_SIZE_MATCH(xShapeQueryVersionReq); - + memset(&rep, 0, sizeof(xShapeQueryVersionReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = 0; + rep.majorVersion = SERVER_SHAPE_MAJOR_VERSION; + rep.minorVersion = SERVER_SHAPE_MINOR_VERSION; if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); @@ -632,13 +633,12 @@ ProcShapeQueryExtents(ClientPtr client) rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); if (rc != Success) return rc; - rep = (xShapeQueryExtentsReply) { - .type = X_Reply, - .sequenceNumber = client->sequence, - .length = 0, - .boundingShaped = (wBoundingShape(pWin) != 0), - .clipShaped = (wClipShape(pWin) != 0) - }; + memset(&rep, 0, sizeof(xShapeQueryExtentsReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = 0; + rep.boundingShaped = (wBoundingShape(pWin) != 0); + rep.clipShaped = (wClipShape(pWin) != 0); if ((region = wBoundingShape(pWin))) { /* this is done in two steps because of a compiler bug on SunOS 4.1.3 */ pExtents = RegionExtents(region); @@ -882,17 +882,16 @@ SendShapeNotify(WindowPtr pWin, int which) return; } for (pShapeEvent = *pHead; pShapeEvent; pShapeEvent = pShapeEvent->next) { - xShapeNotifyEvent se = { - .type = ShapeNotify + ShapeEventBase, - .kind = which, - .window = pWin->drawable.id, - .x = extents.x1, - .y = extents.y1, - .width = extents.x2 - extents.x1, - .height = extents.y2 - extents.y1, - .time = currentTime.milliseconds, - .shaped = shaped - }; + xShapeNotifyEvent se; + se.type = ShapeNotify + ShapeEventBase; + se.kind = which; + se.window = pWin->drawable.id; + se.x = extents.x1; + se.y = extents.y1; + se.width = extents.x2 - extents.x1; + se.height = extents.y2 - extents.y1; + se.time = currentTime.milliseconds; + se.shaped = shaped; WriteEventsToClient(pShapeEvent->client, 1, (xEvent *) &se); } } @@ -923,12 +922,12 @@ ProcShapeInputSelected(ClientPtr client) } } } - rep = (xShapeInputSelectedReply) { - .type = X_Reply, - .enabled = enabled, - .sequenceNumber = client->sequence, - .length = 0 - }; + + rep.type = X_Reply; + rep.enabled = enabled; + rep.sequenceNumber = client->sequence; + rep.length = 0; + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); @@ -1006,13 +1005,13 @@ ProcShapeGetRectangles(ClientPtr client) rects[i].height = box->y2 - box->y1; } } - rep = (xShapeGetRectanglesReply) { - .type = X_Reply, - .ordering = YXBanded, - .sequenceNumber = client->sequence, - .length = bytes_to_int32(nrects * sizeof(xRectangle)), - .nrects = nrects - }; + + rep.type = X_Reply; + rep.ordering = YXBanded; + rep.sequenceNumber = client->sequence; + rep.length = bytes_to_int32(nrects * sizeof(xRectangle)); + rep.nrects = nrects; + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length); |