summaryrefslogtreecommitdiffstats
path: root/src/sp-mesh-row.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2017-11-03 00:10:02 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2017-11-03 00:10:02 +0000
commitd2df0412f728dd5bb54537dfdfe7c35b34d40e0e (patch)
treee2703384779e83312c456399999997fcc289c5cf /src/sp-mesh-row.cpp
parentMerge branch 'master' into powerpencil (diff)
parentchange assignment to equality (diff)
downloadinkscape-d2df0412f728dd5bb54537dfdfe7c35b34d40e0e.tar.gz
inkscape-d2df0412f728dd5bb54537dfdfe7c35b34d40e0e.zip
Merge branch 'master' into powerpencil
Diffstat (limited to 'src/sp-mesh-row.cpp')
-rw-r--r--src/sp-mesh-row.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/sp-mesh-row.cpp b/src/sp-mesh-row.cpp
index 5ac349c27..8204aff65 100644
--- a/src/sp-mesh-row.cpp
+++ b/src/sp-mesh-row.cpp
@@ -78,23 +78,16 @@ void SPMeshrow::set(unsigned int /*key*/, const gchar* /*value*/) {
void SPMeshrow::modified(unsigned int flags) {
flags &= SP_OBJECT_MODIFIED_CASCADE;
- GSList *l = NULL;
-
+ std::vector<SPObject *> l;
for (auto& child: children) {
sp_object_ref(&child);
- l = g_slist_prepend(l, &child);
+ l.push_back(&child);
}
- l = g_slist_reverse(l);
-
- while (l) {
- SPObject *child = SP_OBJECT(l->data);
- l = g_slist_remove(l, child);
-
+ for (auto child:l) {
if (flags || (child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
child->emitModified(flags);
}
-
sp_object_unref(child);
}
}