From 600fa04bec03bb192408b766c9869c7ab274ec5c Mon Sep 17 00:00:00 2001 From: Zhang Zhaolong Date: Mon, 10 Feb 2014 14:43:58 +0800 Subject: [PATCH] wfreerdp: fix gdi polyline mistake. --- client/Windows/wf_gdi.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/client/Windows/wf_gdi.c b/client/Windows/wf_gdi.c index 16359d858..b9cba56d5 100644 --- a/client/Windows/wf_gdi.c +++ b/client/Windows/wf_gdi.c @@ -521,12 +521,18 @@ void wf_gdi_polyline(wfContext* wfc, POLYLINE_ORDER* polyline) if (polyline->numPoints > 0) { + POINT temp; + + temp.x = polyline->xStart; + temp.y = polyline->yStart; pts = (POINT*) malloc(sizeof(POINT) * polyline->numPoints); for (i = 0; i < (int) polyline->numPoints; i++) { - pts[i].x = polyline->points[i].x; - pts[i].y = polyline->points[i].y; + temp.x += polyline->points[i].x; + temp.y += polyline->points[i].y; + pts[i].x = temp.x; + pts[i].y = temp.y; if (wfc->drawing == wfc->primary) wf_invalidate_region(wfc, pts[i].x, pts[i].y, pts[i].x + 1, pts[i].y + 1);