diff options
Diffstat (limited to 'src/sp-defs.cpp')
| -rw-r--r-- | src/sp-defs.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/sp-defs.cpp b/src/sp-defs.cpp index 8dd695867..2e341d3c6 100644 --- a/src/sp-defs.cpp +++ b/src/sp-defs.cpp @@ -36,11 +36,9 @@ 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); + std::vector<SPObject*> l(this->childList(true)); + for(std::vector<SPObject*>::const_iterator i=l.begin();i!=l.end();i++){ + SPObject *child = *i; if (flags || (child->uflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) { child->updateDisplay(ctx, flags); } |
