From 0f44fb362ddef26ab754d8ffa44b91863378894e Mon Sep 17 00:00:00 2001
From: Joshua Thielen <thielen@netperson.net>
Date: Sat, 29 May 1999 14:03:42 +0000
Subject: [PATCH] Fixed a bug which causes the PolyBezier to not be updated on
 redraw (when you want them to be).

---
 graphics/x11drv/graphics.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/graphics/x11drv/graphics.c b/graphics/x11drv/graphics.c
index adf6d044115..4abd5e6d196 100644
--- a/graphics/x11drv/graphics.c
+++ b/graphics/x11drv/graphics.c
@@ -1332,8 +1332,9 @@ static void X11DRV_Bezier(int level, DC * dc, POINT *Points,
     X11DRV_PDEVICE *physDev = (X11DRV_PDEVICE *)dc->physDev;
 
     if(*pIx == BEZMAXPOINTS){
-        TSXDrawLines( display, physDev->drawable, physDev->gc,
-                    xpoints, *pIx, CoordModeOrigin );
+        if (X11DRV_SetupGCForPen( dc )) 
+            TSXDrawLines( display, physDev->drawable, physDev->gc,
+                          xpoints, *pIx, CoordModeOrigin );
         *pIx=0;
     }
     if(!level || BezierCheck(level, Points)) {
@@ -1406,7 +1407,8 @@ X11DRV_PolyBezier(DC *dc, POINT start, const POINT* BezierPoints, DWORD count)
         X11DRV_Bezier(BEZIERMAXDEPTH , dc, Points, xpoints, &ix );
         count -=3;
     }
-    if( ix) TSXDrawLines( display, physDev->drawable, physDev->gc,
+    if (ix && X11DRV_SetupGCForPen( dc ))
+         TSXDrawLines( display, physDev->drawable, physDev->gc,
 			  xpoints, ix, CoordModeOrigin );
     free(xpoints);
     return TRUE;
-- 
GitLab