Code

Fix bbox snapping as reported in LP bug #562205
[inkscape.git] / src / snapped-point.cpp
index 089aa4323e39b66fd6c91853bebeddcd00e43bd8..508ec8f62c1e49aaeb7f1bb1ccf489ef32e0e388 100644 (file)
@@ -164,6 +164,15 @@ bool Inkscape::SnappedPoint::isOtherSnapBetter(Inkscape::SnappedPoint const &oth
         }
     }
 
+    // When snapping to a constraint line only, which is not really a snap but merely a projection
+    // to the constraint line, then give this snap a very low priority. Basically, any other snap will do
+    if (other_one.getTarget() == SNAPTARGET_CONSTRAINT) {
+        dist_other += NR_HUGE/2;
+    }
+    if (getTarget() == SNAPTARGET_CONSTRAINT) {
+        dist_this += NR_HUGE/2;
+    }
+
     // If it's closer
     bool c1 = dist_other < dist_this;
     // or, if it's for a snapper with "always snap" turned on, and the previous wasn't