summaryrefslogtreecommitdiffstats
path: root/src/sp-tref.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2013-10-01 13:25:44 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2013-10-01 13:25:44 +0000
commit87d93e27330577c2fd632dbaccbd3103884aa590 (patch)
tree2acaa8e8ab51a4dbaef40bd22bd780bdaceae0db /src/sp-tref.cpp
parentFix possible bug in DrawingItem code (diff)
downloadinkscape-87d93e27330577c2fd632dbaccbd3103884aa590.tar.gz
inkscape-87d93e27330577c2fd632dbaccbd3103884aa590.zip
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)
Diffstat (limited to 'src/sp-tref.cpp')
-rw-r--r--src/sp-tref.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/sp-tref.cpp b/src/sp-tref.cpp
index 4f9947a04..1c0481547 100644
--- a/src/sp-tref.cpp
+++ b/src/sp-tref.cpp
@@ -148,21 +148,21 @@ void SPTRef::set(unsigned int key, const gchar* value) {
void SPTRef::update(SPCtx *ctx, guint flags) {
debug("0x%p",this);
- 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;
SPObject *child = this->stringChild;
if (child) {
- if ( flags || ( child->uflags & SP_OBJECT_MODIFIED_FLAG )) {
- child->updateDisplay(ctx, flags);
+ if ( childflags || ( child->uflags & SP_OBJECT_MODIFIED_FLAG )) {
+ child->updateDisplay(ctx, childflags);
}
}
+
+ SPItem::update(ctx, flags);
}
void SPTRef::modified(unsigned int flags) {