diff options
Diffstat (limited to 'src/sp-hatch.cpp')
| -rw-r--r-- | src/sp-hatch.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/sp-hatch.cpp b/src/sp-hatch.cpp index a17a555b8..02d95c75c 100644 --- a/src/sp-hatch.cpp +++ b/src/sp-hatch.cpp @@ -230,14 +230,13 @@ void SPHatch::set(unsigned int key, const gchar* value) bool SPHatch::_hasHatchPatchChildren(SPHatch const *hatch) { - bool matched = false; - for (SPObject const *child = hatch->firstChild(); child && !matched; child = child->getNext() ) { - SPHatchPath const *hatchPath = dynamic_cast<SPHatchPath const *>(child); + for (auto& child: hatch->children) { + SPHatchPath const *hatchPath = dynamic_cast<SPHatchPath const *>(&child); if (hatchPath) { - matched = true; + return true; } } - return matched; + return false; } std::vector<SPHatchPath*> SPHatch::hatchPaths() @@ -246,8 +245,8 @@ std::vector<SPHatchPath*> SPHatch::hatchPaths() SPHatch *src = chase_hrefs<SPHatch>(this, sigc::ptr_fun(&_hasHatchPatchChildren)); if (src) { - for (SPObject *child = src->firstChild(); child; child = child->getNext()) { - SPHatchPath *hatchPath = dynamic_cast<SPHatchPath *>(child); + for (auto& child: src->children) { + SPHatchPath *hatchPath = dynamic_cast<SPHatchPath *>(&child); if (hatchPath) { list.push_back(hatchPath); } @@ -262,8 +261,8 @@ std::vector<SPHatchPath const*> SPHatch::hatchPaths() const SPHatch const *src = chase_hrefs<SPHatch const>(this, sigc::ptr_fun(&_hasHatchPatchChildren)); if (src) { - for (SPObject const *child = src->firstChild(); child; child = child->getNext()) { - SPHatchPath const *hatchPath = dynamic_cast<SPHatchPath const*>(child); + for (auto& child: src->children) { + SPHatchPath const *hatchPath = dynamic_cast<SPHatchPath const*>(&child); if (hatchPath) { list.push_back(hatchPath); } |
