diff options
-rw-r--r-- | generic/Rectangle.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/generic/Rectangle.c b/generic/Rectangle.c index 793e427..e77f620 100644 --- a/generic/Rectangle.c +++ b/generic/Rectangle.c @@ -61,7 +61,7 @@ typedef struct _RectangleItemStruct { /* Public data */ ZnPoint coords[2]; - unsigned char flags; + unsigned short flags; ReliefStyle relief; LineStyle line_style; ZnDim line_width; @@ -221,7 +221,11 @@ Clone(Item item) if (rect->gradient) { rect->gradient = ZnGetGradientByValue(rect->gradient); } - rect->grad_geo = NULL; + if (rect->grad_geo) { + ZnPoint *grad_geo = ZnMalloc(4*sizeof(ZnPoint)); + memcpy(grad_geo, rect->grad_geo, 4*sizeof(ZnPoint)); + rect->grad_geo = grad_geo; + } if (rect->tile != ZnUnspecifiedImage) { text = ZnMalloc((strlen(rect->tile_name) + 1) * sizeof(char)); strcpy(text, rect->tile_name); @@ -709,8 +713,8 @@ Render(Item item) p, 5, rect->line_width); } else { - RenderPolyline(wi, p, 5, rect->line_width, True, - rect->line_style, CapButt, JoinMiter, + RenderPolyline(wi, p, 5, rect->line_width, + rect->line_style, CapRound, JoinMiter, NULL, NULL, rect->line_color); } } |