diff options
Diffstat (limited to 'src/sp-mesh-array.cpp')
| -rw-r--r-- | src/sp-mesh-array.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sp-mesh-array.cpp b/src/sp-mesh-array.cpp index 107359c6c..565551fd4 100644 --- a/src/sp-mesh-array.cpp +++ b/src/sp-mesh-array.cpp @@ -2761,6 +2761,15 @@ void SPMeshNodeArray::transform(Geom::Affine const &m) { // Transform mesh to fill box. Return true if mesh transformed. bool SPMeshNodeArray::fill_box(Geom::OptRect &box) { + // If gradientTransfor is set (as happens when an object is transformed + // with the "optimized" preferences set true), we need to remove it. + if (mg->gradientTransform_set) { + Geom::Affine gt = mg->gradientTransform; + transform( gt ); + mg->gradientTransform_set = false; + mg->gradientTransform.setIdentity(); + } + SPCurve *outline = outline_path(); Geom::OptRect mesh_bbox = outline->get_pathvector().boundsExact(); outline->unref(); |
