diff options
author | lecoanet | 2002-03-29 13:10:59 +0000 |
---|---|---|
committer | lecoanet | 2002-03-29 13:10:59 +0000 |
commit | de00ab8da54543490bd6f30e529d568ec2f10821 (patch) | |
tree | 6347e76df93f0d7ee243b53212444af2f7115714 /generic | |
parent | b0e68a7fcc7856da15ae07b3274dd6500ad788c9 (diff) | |
download | tkzinc-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')
-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); } } |