diff options
Diffstat (limited to 'src/sp-filter.cpp')
| -rw-r--r-- | src/sp-filter.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp index a70fbd5bb..2bf1b11a6 100644 --- a/src/sp-filter.cpp +++ b/src/sp-filter.cpp @@ -235,11 +235,9 @@ void SPFilter::update(SPCtx *ctx, guint flags) { childflags |= SP_OBJECT_PARENT_MODIFIED_FLAG; } childflags &= SP_OBJECT_MODIFIED_CASCADE; - - GSList *l = g_slist_reverse(this->childList(true, SPObject::ActionUpdate)); - while (l) { - SPObject *child = SP_OBJECT (l->data); - l = g_slist_remove (l, child); + std::vector<SPObject*> l(this->childList(true, SPObject::ActionUpdate)); + for(std::vector<SPObject*>::const_iterator i=l.begin();i!=l.end();i++){ + SPObject *child = *i; if( SP_IS_FILTER_PRIMITIVE( child ) ) { child->updateDisplay(ctx, childflags); } |
