diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2020-01-05 22:10:31 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2020-01-05 22:10:31 +0100 |
commit | 0e2b7479cd4567128fbcd975e5376744d78cd416 (patch) | |
tree | 2bfe6e083171c0408382649d42b229ead2b92338 /nx-X11/programs/Xserver/render/render.c | |
parent | 60e0566d801ad4937f3d082b56a82fd4c636457e (diff) | |
parent | 3bc01d1b8a253dcddf7072ec435fe655f22b79c5 (diff) | |
download | nx-libs-0e2b7479cd4567128fbcd975e5376744d78cd416.tar.gz nx-libs-0e2b7479cd4567128fbcd975e5376744d78cd416.tar.bz2 nx-libs-0e2b7479cd4567128fbcd975e5376744d78cd416.zip |
Merge branch 'uli42-pr/simplify_nxrender' into 3.6.x
Attributes GH PR #862: https://github.com/ArcticaProject/nx-libs/pull/862
Diffstat (limited to 'nx-X11/programs/Xserver/render/render.c')
-rw-r--r-- | nx-X11/programs/Xserver/render/render.c | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/nx-X11/programs/Xserver/render/render.c b/nx-X11/programs/Xserver/render/render.c index e4d8a3f76..3dcbac0e6 100644 --- a/nx-X11/programs/Xserver/render/render.c +++ b/nx-X11/programs/Xserver/render/render.c @@ -126,6 +126,11 @@ static int SProcRenderCreateConicalGradient (ClientPtr pClient); static int SProcRenderDispatch (ClientPtr pClient); +#ifdef NXAGENT_SERVER +static int xorg_ProcRenderDispatch (ClientPtr pClient); +static int xorg_SProcRenderDispatch (ClientPtr pClient); +#endif + int (*ProcRenderVector[RenderNumberRequests])(ClientPtr) = { ProcRenderQueryVersion, ProcRenderQueryPictFormats, @@ -1347,9 +1352,8 @@ ProcRenderCompositeGlyphs (ClientPtr client) listsBase = (GlyphListPtr) malloc (nlist * sizeof (GlyphListRec)); if (!listsBase) { - free(glyphsBase); - free(listsBase); - + if (glyphsBase != glyphsLocal) + free(glyphsBase); return BadAlloc; } } @@ -1417,8 +1421,13 @@ ProcRenderCompositeGlyphs (ClientPtr client) } } if (buffer > end) + { + if (glyphsBase != glyphsLocal) + free(glyphsBase); + if (listsBase != listsLocal) + free(listsBase); return BadLength; - + } CompositeGlyphs (stuff->op, pSrc, pDst, @@ -2018,10 +2027,15 @@ static int ProcRenderCreateConicalGradient (ClientPtr client) return BadAlloc; return Success; } +#endif /* NXAGENT_SERVER */ static int +#ifdef NXAGENT_SERVER +xorg_ProcRenderDispatch (ClientPtr client) +#else ProcRenderDispatch (ClientPtr client) +#endif { REQUEST(xReq); @@ -2030,7 +2044,6 @@ ProcRenderDispatch (ClientPtr client) else return BadRequest; } -#endif /* NXAGENT_SERVER */ static int SProcRenderQueryVersion (ClientPtr client) @@ -2602,9 +2615,12 @@ SProcRenderCreateConicalGradient (ClientPtr client) return (*ProcRenderVector[stuff->renderReqType]) (client); } -#ifndef NXAGENT_SERVER +#ifdef NXAGENT_SERVER static int +xorg_SProcRenderDispatch (ClientPtr client) +#else SProcRenderDispatch (ClientPtr client) +#endif { REQUEST(xReq); @@ -2613,7 +2629,6 @@ SProcRenderDispatch (ClientPtr client) else return BadRequest; } -#endif /* NXAGENT_SERVER */ #ifdef PANORAMIX #include "panoramiX.h" |