X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fobject-snapper.cpp;h=9439fea8b0d854e526c7ccbc2763b456ee17ae14;hb=2d5f45472d142796f87b8b737cc0b56fc9de3bf7;hp=6146c11b8584b8cbacc9a8a113eb70565a1da49d;hpb=37df6da4034419c22ce7fa59c18cc1c42faf54cd;p=inkscape.git diff --git a/src/object-snapper.cpp b/src/object-snapper.cpp index 6146c11b8..9439fea8b 100644 --- a/src/object-snapper.cpp +++ b/src/object-snapper.cpp @@ -78,10 +78,10 @@ void Inkscape::ObjectSnapper::_snapNodes(Inkscape::SnappedPoint &s, int j = 0; NR::Matrix const i2doc = sp_item_i2doc_affine(*i); - while (sh->curve->bpath[j].code != NR_END) { + while (SP_CURVE_BPATH(sh->curve)[j].code != NR_END) { /* Get this node in desktop coordinates */ - NArtBpath const &bp = sh->curve->bpath[j]; + NArtBpath const &bp = SP_CURVE_BPATH(sh->curve)[j]; NR::Point const n = desktop->doc2dt(bp.c(3) * i2doc); /* Try to snap to this node of the path */ @@ -144,6 +144,10 @@ void Inkscape::ObjectSnapper::_snapPaths(Inkscape::SnappedPoint &s, Inkscape::SnappedPoint Inkscape::ObjectSnapper::_doFreeSnap(NR::Point const &p, std::list const &it) const { + if ( NULL == _named_view ) { + return SnappedPoint(p, NR_HUGE); + } + /* Get a list of all the SPItems that we will try to snap to */ std::list cand; _findCandidates(cand, sp_document_root(_named_view->document), it, p); @@ -163,7 +167,7 @@ Inkscape::SnappedPoint Inkscape::ObjectSnapper::_doFreeSnap(NR::Point const &p, Inkscape::SnappedPoint Inkscape::ObjectSnapper::_doConstrainedSnap(NR::Point const &p, - NR::Point const &c, + ConstraintLine const &c, std::list const &it) const { /* FIXME: this needs implementing properly; I think we have to do the