diff options
| author | Alvin Penner <penner@vaxxine.com> | 2013-12-31 13:17:23 +0000 |
|---|---|---|
| committer | apenner <penner@vaxxine.com> | 2013-12-31 13:17:23 +0000 |
| commit | 82ab50d13fed255eaec96d794f97e7b422af9cd0 (patch) | |
| tree | 13549759c02b0d722234921d6665c7fcc859f0cb /src/sp-item-transform.cpp | |
| parent | modify transform behaviour for unscaled stroke width, Preserved Transforms (B... (diff) | |
| download | inkscape-82ab50d13fed255eaec96d794f97e7b422af9cd0.tar.gz inkscape-82ab50d13fed255eaec96d794f97e7b422af9cd0.zip | |
prevent singularity when scaling horizontal or vertical line
(bzr r12864)
Diffstat (limited to 'src/sp-item-transform.cpp')
| -rw-r--r-- | src/sp-item-transform.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sp-item-transform.cpp b/src/sp-item-transform.cpp index 88148c789..2d1dd8193 100644 --- a/src/sp-item-transform.cpp +++ b/src/sp-item-transform.cpp @@ -140,11 +140,11 @@ Geom::Affine get_scale_transform_for_uniform_stroke(Geom::Rect const &bbox_visua gdouble scale_y = 1; gdouble r1 = r0; - if (fabs(w0 - r0) < 1e-6) { // We have a vertical line at hand + if ((fabs(w0 - r0) < 1e-6) || w1 == 0) { // We have a vertical line at hand r1 = transform_stroke ? r0 * sqrt(h1/h0) : r0; scale_x = 1; scale_y = preserve ? h1/h0 : (h1 - r1)/(h0 - r0); - } else if (fabs(h0 - r0) < 1e-6) { // We have a horizontal line at hand + } else if ((fabs(h0 - r0) < 1e-6) || h1 == 0) { // We have a horizontal line at hand r1 = transform_stroke ? r0 * sqrt(w1/w0) : r0; scale_x = preserve ? w1/w0 : (w1 - r1)/(w0 - r0); scale_y = 1; |
