diff options
Diffstat (limited to 'src/sp-defs.cpp')
| -rw-r--r-- | src/sp-defs.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/sp-defs.cpp b/src/sp-defs.cpp index 334570076..d52fa038a 100644 --- a/src/sp-defs.cpp +++ b/src/sp-defs.cpp @@ -46,11 +46,10 @@ void SPDefs::update(SPCtx *ctx, guint flags) { } flags &= SP_OBJECT_MODIFIED_CASCADE; - - GSList *l = g_slist_reverse(this->childList(true)); - while (l) { - SPObject *child = SP_OBJECT(l->data); - l = g_slist_remove(l, child); + SelContainer l(this->childList(true)); + l.reverse(); + for(SelContainer::const_iterator i=l.begin();i!=l.end();i++){ + SPObject *child = SP_OBJECT(*i); if (flags || (child->uflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) { child->updateDisplay(ctx, flags); } |
