aboutsummaryrefslogtreecommitdiff
path: root/generic/Rectangle.c
diff options
context:
space:
mode:
authorlecoanet2002-03-29 13:10:59 +0000
committerlecoanet2002-03-29 13:10:59 +0000
commitde00ab8da54543490bd6f30e529d568ec2f10821 (patch)
tree6347e76df93f0d7ee243b53212444af2f7115714 /generic/Rectangle.c
parentb0e68a7fcc7856da15ae07b3274dd6500ad788c9 (diff)
downloadtkzinc-de00ab8da54543490bd6f30e529d568ec2f10821.zip
tkzinc-de00ab8da54543490bd6f30e529d568ec2f10821.tar.gz
tkzinc-de00ab8da54543490bd6f30e529d568ec2f10821.tar.bz2
tkzinc-de00ab8da54543490bd6f30e529d568ec2f10821.tar.xz
* Correction d'un core dump dans Clone. Les structures geometriques
�taient mises � NULL pour �tre remplies par ComputeCoordinates. En fait il fallait les copier tout de suite. * Les flags sont dans un unsigned short (16 flags). * Adaptation de RenderPolyline (closed inutile).
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);
}
}