diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2011-08-19 07:33:48 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2011-08-19 07:33:48 +0000 |
| commit | a49c525365ff86ea1e22281d3a3b66d7ef0087c1 (patch) | |
| tree | 91c9f6d2b29fc5e1141835c560a44dd0a5a6bd89 /src/display/drawing-group.cpp | |
| parent | Fix large memory leaks in the swatches panel (diff) | |
| download | inkscape-a49c525365ff86ea1e22281d3a3b66d7ef0087c1.tar.gz inkscape-a49c525365ff86ea1e22281d3a3b66d7ef0087c1.zip | |
Fix rendering glitches appearing when filtered, cached groups have
filtered, cached children
(bzr r10347.1.36)
Diffstat (limited to 'src/display/drawing-group.cpp')
| -rw-r--r-- | src/display/drawing-group.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/display/drawing-group.cpp b/src/display/drawing-group.cpp index 002a5a2d4..d9a75925e 100644 --- a/src/display/drawing-group.cpp +++ b/src/display/drawing-group.cpp @@ -57,7 +57,7 @@ DrawingGroup::setChildTransform(Geom::Affine const &new_trans) if (_child_transform) { current = *_child_transform; } - + if (!Geom::are_near(current, new_trans, NR_EPSILON)) { // mark the area where the object was for redraw. _markForRendering(); @@ -77,11 +77,11 @@ DrawingGroup::_updateItem(Geom::IntRect const &area, UpdateContext const &ctx, u unsigned beststate = STATE_ALL; bool outline = _drawing.outline(); + UpdateContext child_ctx(ctx); + if (_child_transform) { + child_ctx.ctm = *_child_transform * ctx.ctm; + } for (ChildrenList::iterator i = _children.begin(); i != _children.end(); ++i) { - UpdateContext child_ctx(ctx); - if (_child_transform) { - child_ctx.ctm = *_child_transform * ctx.ctm; - } i->update(area, child_ctx, flags, reset); } if (beststate & STATE_BBOX) { |
