summaryrefslogtreecommitdiffstats
path: root/src/display/drawing-item.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-08-16 01:40:10 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2011-08-16 01:40:10 +0000
commit66bab1f2b80ff441643fd5fdeb5bade70fb5aa8c (patch)
tree60877c840f6ea4a15a6dea4bb3fcaead3ae7b353 /src/display/drawing-item.cpp
parentCorrectly invalidate cache of objects with background-accessing filters (diff)
downloadinkscape-66bab1f2b80ff441643fd5fdeb5bade70fb5aa8c.tar.gz
inkscape-66bab1f2b80ff441643fd5fdeb5bade70fb5aa8c.zip
Add sanity checks against singular transforms in the drawing tree.
Fixes LP #825767. Fixed bugs: - https://launchpad.net/bugs/825767 (bzr r10347.1.33)
Diffstat (limited to 'src/display/drawing-item.cpp')
-rw-r--r--src/display/drawing-item.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/display/drawing-item.cpp b/src/display/drawing-item.cpp
index f28894c14..1195bc56c 100644
--- a/src/display/drawing-item.cpp
+++ b/src/display/drawing-item.cpp
@@ -66,8 +66,7 @@ DrawingItem::DrawingItem(Drawing &drawing)
, _propagate(0)
// , _renders_opacity(0)
, _pick_children(0)
-{
-}
+{}
DrawingItem::~DrawingItem()
{
@@ -120,7 +119,7 @@ DrawingItem *
DrawingItem::parent() const
{
// initially I wanted to return NULL if we are a clip or mask child,
- // but the previous behavior was just to return the parent
+ // but the previous behavior was just to return the parent regardless of child type
return _parent;
}
@@ -442,6 +441,7 @@ DrawingItem::render(DrawingContext &ct, Geom::IntRect const &area, unsigned flag
// If we are invisible, return immediately
if (!_visible) return;
+ if (_ctm.isSingular(NR_EPSILON)) return;
// TODO convert outline rendering to a separate virtual function
if (outline) {