From 1c25e92b9ea5811d8ab9c2bfdc0dcb2e4d21bd0a Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:31 +0200 Subject: Imported nxagent-3.2.0-10.tar.gz Summary: Imported nxagent-3.2.0-10.tar.gz Keywords: Imported nxagent-3.2.0-10.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/GCOps.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent/GCOps.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/GCOps.c b/nx-X11/programs/Xserver/hw/nxagent/GCOps.c index 7a6432a8e..83aa04f11 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/GCOps.c +++ b/nx-X11/programs/Xserver/hw/nxagent/GCOps.c @@ -451,6 +451,8 @@ FIXME: The popup could be synchronized with one CARD32 targetAttributes[2]; + Bool pClipRegionFree = True; + /* * As we want to copy only the synchronized * areas of the source drawable, we create @@ -503,6 +505,13 @@ FIXME: The popup could be synchronized with one nxagentChangeClip(targetGC, CT_REGION, pClipRegion, 0); + /* + * Next call to nxagentChangeClip() will destroy + * pClipRegion, so it has not to be freed. + */ + + pClipRegionFree = False; + #ifdef DEBUG fprintf(stderr, "nxagentDeferCopyArea: Going to execute a copy area with clip mask " "[%d,%d,%d,%d] and origin [%d,%d].\n", ((RegionPtr) targetGC -> clientClip) -> extents.x1, @@ -518,6 +527,11 @@ FIXME: The popup could be synchronized with one nxagentChangeClip(targetGC, CT_NONE, NullRegion, 0); + if (pClipRegionFree == True) + { + nxagentFreeRegion(pSrcDrawable, pClipRegion); + } + FreeScratchGC(targetGC); } else @@ -1184,7 +1198,9 @@ void nxagentPolySegment(DrawablePtr pDrawable, GCPtr pGC, (XSegment *) pSegments, nSegments); } + SET_GC_TRAP(); fbPolySegment(nxagentVirtualDrawable(pDrawable), pGC, nSegments, pSegments); + RESET_GC_TRAP(); return; } @@ -1193,7 +1209,9 @@ void nxagentPolySegment(DrawablePtr pDrawable, GCPtr pGC, XDrawSegments(nxagentDisplay, nxagentDrawable(pDrawable), nxagentGC(pGC), (XSegment *) pSegments, nSegments); + SET_GC_TRAP(); fbPolySegment(pDrawable, pGC, nSegments, pSegments); + RESET_GC_TRAP(); } } -- cgit v1.2.3