aboutsummaryrefslogtreecommitdiff
path: root/generic/Rectangle.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/Rectangle.c')
-rw-r--r--generic/Rectangle.c12
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);
}
}