From 87d93e27330577c2fd632dbaccbd3103884aa590 Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Tue, 1 Oct 2013 15:25:44 +0200 Subject: Comprehensive fix for the issues with disappearing filtered objects. Fixes #304407 and possibly a few other bugs. Revert incorrect _item_bbox changes from r12528. Fixed bugs: - https://launchpad.net/bugs/304407 (bzr r12648) --- src/sp-tspan.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/sp-tspan.cpp') diff --git a/src/sp-tspan.cpp b/src/sp-tspan.cpp index 21c5ee11f..20d404130 100644 --- a/src/sp-tspan.cpp +++ b/src/sp-tspan.cpp @@ -107,19 +107,19 @@ void SPTSpan::set(unsigned int key, const gchar* value) { } void SPTSpan::update(SPCtx *ctx, guint flags) { - SPItem::update(ctx, flags); - + unsigned childflags = flags; if (flags & SP_OBJECT_MODIFIED_FLAG) { - flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; + childflags |= SP_OBJECT_PARENT_MODIFIED_FLAG; } - - flags &= SP_OBJECT_MODIFIED_CASCADE; + childflags &= SP_OBJECT_MODIFIED_CASCADE; for ( SPObject *ochild = this->firstChild() ; ochild ; ochild = ochild->getNext() ) { if ( flags || ( ochild->uflags & SP_OBJECT_MODIFIED_FLAG )) { - ochild->updateDisplay(ctx, flags); + ochild->updateDisplay(ctx, childflags); } } + + SPItem::update(ctx, flags); } void SPTSpan::modified(unsigned int flags) { -- cgit v1.2.3