X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Flive_effects%2Flpe-knot.cpp;h=b8e9b8cf9609bd6d858d9eea25a579a6d6c92e22;hb=e72ec96ad2ab870dc0af88bc559c86b32c63dd9c;hp=b3aa2df459e1961a975b9a168ffed6ddcbe54775;hpb=8d7e67a03e5080d114e3e34c1a6c4377ce3291c0;p=inkscape.git diff --git a/src/live_effects/lpe-knot.cpp b/src/live_effects/lpe-knot.cpp index b3aa2df45..b8e9b8cf9 100644 --- a/src/live_effects/lpe-knot.cpp +++ b/src/live_effects/lpe-knot.cpp @@ -56,17 +56,19 @@ public: static std::vector complementOf(Geom::Interval I, std::vector domain){ std::vector ret; - double min = domain.front().min(); - double max = domain.back().max(); - Geom::Interval I1 = Geom::Interval(min,I.min()); - Geom::Interval I2 = Geom::Interval(I.max(),max); - - for (unsigned i = 0; i I1i = intersect(domain.at(i),I1); - if (I1i && !I1i->isSingular()) ret.push_back(I1i.get()); - boost::optional I2i = intersect(domain.at(i),I2); - if (I2i && !I2i->isSingular()) ret.push_back(I2i.get()); - } + if (!domain.empty()) { + double min = domain.front().min(); + double max = domain.back().max(); + Geom::Interval I1 = Geom::Interval(min,I.min()); + Geom::Interval I2 = Geom::Interval(I.max(),max); + + for (unsigned i = 0; i I1i = intersect(domain.at(i),I1); + if (I1i && !I1i->isSingular()) ret.push_back(I1i.get()); + boost::optional I2i = intersect(domain.at(i),I2); + if (I2i && !I2i->isSingular()) ret.push_back(I2i.get()); + } + } return ret; }