diff options
| author | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
|---|---|---|
| committer | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
| commit | 1dad092caf01d733990648e6df64cbf964df5143 (patch) | |
| tree | 39de0e643e76754a3e23ca9dd0350b8ba4f76250 /nx-X11/programs/Xserver/damageext | |
| parent | 6d70b9e3c47f27a166f4aacb522c5c1e49092dd9 (diff) | |
| parent | 2b9025f797ee322e21077e100c2ee27c2e7fa0e0 (diff) | |
| download | nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.gz nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.bz2 nx-libs-1dad092caf01d733990648e6df64cbf964df5143.zip | |
Merge branch '3.6.x'
Diffstat (limited to 'nx-X11/programs/Xserver/damageext')
| -rw-r--r-- | nx-X11/programs/Xserver/damageext/Imakefile | 13 | ||||
| -rw-r--r--[-rwxr-xr-x] | nx-X11/programs/Xserver/damageext/damageext.c | 96 | ||||
| -rw-r--r-- | nx-X11/programs/Xserver/damageext/damageextint.h | 7 |
3 files changed, 60 insertions, 56 deletions
diff --git a/nx-X11/programs/Xserver/damageext/Imakefile b/nx-X11/programs/Xserver/damageext/Imakefile index f7ce4573b..d8cc1bfa4 100644 --- a/nx-X11/programs/Xserver/damageext/Imakefile +++ b/nx-X11/programs/Xserver/damageext/Imakefile @@ -1,14 +1,25 @@ #include <Server.tmpl> + NULL = + SRCS = damageext.c OBJS = damageext.o INCLUDES = -I../include -I../Xext -I../render -I../xfixes -I../miext/damage \ - -I$(EXTINCSRC) -I$(XINCLUDESRC) + -I$(EXTINCSRC) -I$(XINCLUDESRC) \ + `pkg-config --cflags-only-I pixman-1` LINTLIBS = ../dix/llib-ldix.ln ../os/llib-los.ln +#if defined(NXAgentServer) && NXAgentServer + NX_DEFINES = -DNXAGENT_SERVER +#endif + + DEFINES = \ + $(NX_DEFINES) \ + $(NULL) + NormalLibraryTarget(damage,$(OBJS)) NormalLibraryObjectRule() LintLibraryTarget(damage,$(SRCS)) diff --git a/nx-X11/programs/Xserver/damageext/damageext.c b/nx-X11/programs/Xserver/damageext/damageext.c index 24809347a..b9d99a53c 100755..100644 --- a/nx-X11/programs/Xserver/damageext/damageext.c +++ b/nx-X11/programs/Xserver/damageext/damageext.c @@ -27,6 +27,7 @@ #endif #include "damageextint.h" +#include "protocol-versions.h" unsigned char DamageReqCode; int DamageEventBase; @@ -68,8 +69,7 @@ DamageExtNotify (DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) ev.area.y = pBoxes[i].y1; ev.area.width = pBoxes[i].x2 - pBoxes[i].x1; ev.area.height = pBoxes[i].y2 - pBoxes[i].y1; - if (!pClient->clientGone) - WriteEventsToClient (pClient, 1, (xEvent *) &ev); + WriteEventsToClient (pClient, 1, (xEvent *) &ev); } } else @@ -78,16 +78,13 @@ DamageExtNotify (DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) ev.area.y = 0; ev.area.width = pDrawable->width; ev.area.height = pDrawable->height; - if (!pClient->clientGone) - WriteEventsToClient (pClient, 1, (xEvent *) &ev); + WriteEventsToClient (pClient, 1, (xEvent *) &ev); } /* Composite extension marks clients with manual Subwindows as critical */ if (pDamageClient->critical > 0) { SetCriticalOutputPending (); -#ifdef SMART_SCHEDULE pClient->smart_priority = SMART_MAX_PRIORITY; -#endif } } @@ -99,10 +96,10 @@ DamageExtReport (DamagePtr pDamage, RegionPtr pRegion, void *closure) switch (pDamageExt->level) { case DamageReportRawRegion: case DamageReportDeltaRegion: - DamageExtNotify (pDamageExt, REGION_RECTS(pRegion), REGION_NUM_RECTS(pRegion)); + DamageExtNotify (pDamageExt, RegionRects(pRegion), RegionNumRects(pRegion)); break; case DamageReportBoundingBox: - DamageExtNotify (pDamageExt, REGION_EXTENTS(prScreen, pRegion), 1); + DamageExtNotify (pDamageExt, RegionExtents(pRegion), 1); break; case DamageReportNonEmpty: DamageExtNotify (pDamageExt, NullBox, 0); @@ -136,33 +133,34 @@ ProcDamageQueryVersion(ClientPtr client) { DamageClientPtr pDamageClient = GetDamageClient (client); xDamageQueryVersionReply rep; - register int n; REQUEST(xDamageQueryVersionReq); REQUEST_SIZE_MATCH(xDamageQueryVersionReq); + + memset(&rep, 0, sizeof(xDamageQueryVersionReply)); rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - if (stuff->majorVersion < DAMAGE_MAJOR) { + if (stuff->majorVersion < SERVER_DAMAGE_MAJOR_VERSION) { rep.majorVersion = stuff->majorVersion; rep.minorVersion = stuff->minorVersion; } else { - rep.majorVersion = DAMAGE_MAJOR; - if (stuff->majorVersion == DAMAGE_MAJOR && - stuff->minorVersion < DAMAGE_MINOR) + rep.majorVersion = SERVER_DAMAGE_MAJOR_VERSION; + if (stuff->majorVersion == SERVER_DAMAGE_MAJOR_VERSION && + stuff->minorVersion < SERVER_DAMAGE_MINOR_VERSION) rep.minorVersion = stuff->minorVersion; else - rep.minorVersion = DAMAGE_MINOR; + rep.minorVersion = SERVER_DAMAGE_MINOR_VERSION; } pDamageClient->major_version = rep.majorVersion; pDamageClient->minor_version = rep.minorVersion; if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swapl(&rep.majorVersion, n); - swapl(&rep.minorVersion, n); + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swapl(&rep.majorVersion); + swapl(&rep.minorVersion); } - WriteToClient(client, sizeof(xDamageQueryVersionReply), (char *)&rep); + WriteToClient(client, sizeof(xDamageQueryVersionReply), &rep); return(client->noClientException); } @@ -179,7 +177,7 @@ ProcDamageCreate (ClientPtr client) REQUEST_SIZE_MATCH(xDamageCreateReq); LEGAL_NEW_RESOURCE(stuff->damage, client); SECURITY_VERIFY_DRAWABLE (pDrawable, stuff->drawable, client, - SecurityReadAccess); + DixReadAccess); switch (stuff->level) { case XDamageReportRawRectangles: level = DamageReportRawRegion; @@ -198,7 +196,7 @@ ProcDamageCreate (ClientPtr client) return BadValue; } - pDamageExt = xalloc (sizeof (DamageExtRec)); + pDamageExt = malloc (sizeof (DamageExtRec)); if (!pDamageExt) return BadAlloc; pDamageExt->id = stuff->damage; @@ -213,10 +211,10 @@ ProcDamageCreate (ClientPtr client) pDamageExt); if (!pDamageExt->pDamage) { - xfree (pDamageExt); + free (pDamageExt); return BadAlloc; } - if (!AddResource (stuff->damage, DamageExtType, (pointer) pDamageExt)) + if (!AddResource (stuff->damage, DamageExtType, (void *) pDamageExt)) return BadAlloc; DamageRegister (pDamageExt->pDrawable, pDamageExt->pDamage); @@ -237,7 +235,7 @@ ProcDamageDestroy (ClientPtr client) DamageExtPtr pDamageExt; REQUEST_SIZE_MATCH(xDamageDestroyReq); - VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, SecurityWriteAccess); + VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, DixWriteAccess); FreeResource (stuff->damage, RT_NONE); return (client->noClientException); } @@ -251,9 +249,9 @@ ProcDamageSubtract (ClientPtr client) RegionPtr pParts; REQUEST_SIZE_MATCH(xDamageSubtractReq); - VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, SecurityWriteAccess); - VERIFY_REGION_OR_NONE(pRepair, stuff->repair, client, SecurityWriteAccess); - VERIFY_REGION_OR_NONE(pParts, stuff->parts, client, SecurityWriteAccess); + VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, DixWriteAccess); + VERIFY_REGION_OR_NONE(pRepair, stuff->repair, client, DixWriteAccess); + VERIFY_REGION_OR_NONE(pParts, stuff->parts, client, DixWriteAccess); if (pDamageExt->level != DamageReportRawRegion) { @@ -261,14 +259,14 @@ ProcDamageSubtract (ClientPtr client) if (pRepair) { if (pParts) - REGION_INTERSECT (prScreen, pParts, DamageRegion (pDamage), pRepair); + RegionIntersect(pParts, DamageRegion (pDamage), pRepair); if (DamageSubtract (pDamage, pRepair)) DamageExtReport (pDamage, DamageRegion (pDamage), (void *) pDamageExt); } else { if (pParts) - REGION_COPY (prScreen, pParts, DamageRegion (pDamage)); + RegionCopy(pParts, DamageRegion (pDamage)); DamageEmpty (pDamage); } } @@ -298,7 +296,7 @@ ProcDamageDispatch (ClientPtr client) REQUEST(xDamageReq); DamageClientPtr pDamageClient = GetDamageClient (client); - if (pDamageClient->major_version > NUM_VERSION_REQUESTS) + if (pDamageClient->major_version >= NUM_VERSION_REQUESTS) return BadRequest; if (stuff->damageReqType > version_requests[pDamageClient->major_version]) return BadRequest; @@ -308,52 +306,48 @@ ProcDamageDispatch (ClientPtr client) static int SProcDamageQueryVersion(ClientPtr client) { - register int n; REQUEST(xDamageQueryVersionReq); - swaps(&stuff->length, n); + swaps(&stuff->length); REQUEST_SIZE_MATCH(xDamageQueryVersionReq); - swapl(&stuff->majorVersion, n); - swapl(&stuff->minorVersion, n); + swapl(&stuff->majorVersion); + swapl(&stuff->minorVersion); return (*ProcDamageVector[stuff->damageReqType]) (client); } static int SProcDamageCreate (ClientPtr client) { - register int n; REQUEST(xDamageCreateReq); - swaps (&stuff->length, n); + swaps (&stuff->length); REQUEST_SIZE_MATCH(xDamageCreateReq); - swapl (&stuff->damage, n); - swapl (&stuff->drawable, n); + swapl (&stuff->damage); + swapl (&stuff->drawable); return (*ProcDamageVector[stuff->damageReqType]) (client); } static int SProcDamageDestroy (ClientPtr client) { - register int n; REQUEST(xDamageDestroyReq); - swaps (&stuff->length, n); + swaps (&stuff->length); REQUEST_SIZE_MATCH(xDamageDestroyReq); - swapl (&stuff->damage, n); + swapl (&stuff->damage); return (*ProcDamageVector[stuff->damageReqType]) (client); } static int SProcDamageSubtract (ClientPtr client) { - register int n; REQUEST(xDamageSubtractReq); - swaps (&stuff->length, n); + swaps (&stuff->length); REQUEST_SIZE_MATCH(xDamageSubtractReq); - swapl (&stuff->damage, n); - swapl (&stuff->repair, n); - swapl (&stuff->parts, n); + swapl (&stuff->damage); + swapl (&stuff->repair); + swapl (&stuff->parts); return (*ProcDamageVector[stuff->damageReqType]) (client); } @@ -376,8 +370,8 @@ SProcDamageDispatch (ClientPtr client) static void DamageClientCallback (CallbackListPtr *list, - pointer closure, - pointer data) + void * closure, + void * data) { NewClientInfoRec *clientinfo = (NewClientInfoRec *) data; ClientPtr pClient = clientinfo->client; @@ -396,7 +390,7 @@ DamageResetProc (ExtensionEntry *extEntry) } static int -FreeDamageExt (pointer value, XID did) +FreeDamageExt (void * value, XID did) { DamageExtPtr pDamageExt = (DamageExtPtr) value; @@ -411,12 +405,12 @@ FreeDamageExt (pointer value, XID did) DamageUnregister (pDamageExt->pDrawable, pDamageExt->pDamage); DamageDestroy (pDamageExt->pDamage); } - xfree (pDamageExt); + free (pDamageExt); return Success; } static int -FreeDamageExtWin (pointer value, XID wid) +FreeDamageExtWin (void * value, XID wid) { DamageExtPtr pDamageExt = (DamageExtPtr) value; diff --git a/nx-X11/programs/Xserver/damageext/damageextint.h b/nx-X11/programs/Xserver/damageext/damageextint.h index ab00effe3..ba9212eba 100644 --- a/nx-X11/programs/Xserver/damageext/damageextint.h +++ b/nx-X11/programs/Xserver/damageext/damageextint.h @@ -29,14 +29,13 @@ #ifndef _DAMAGEEXTINT_H_ #define _DAMAGEEXTINT_H_ -#define NEED_EVENTS -#include <X11/X.h> -#include <X11/Xproto.h> +#include <nx-X11/X.h> +#include <nx-X11/Xproto.h> #include "misc.h" #include "os.h" #include "dixstruct.h" #include "extnsionst.h" -#include <X11/extensions/damageproto.h> +#include <nx-X11/extensions/damageproto.h> #include "windowstr.h" #include "selection.h" #include "scrnintstr.h" |
