summaryrefslogtreecommitdiffstats
path: root/src/seltrans.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/seltrans.cpp')
-rw-r--r--src/seltrans.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/seltrans.cpp b/src/seltrans.cpp
index 150a67c30..5ace790ec 100644
--- a/src/seltrans.cpp
+++ b/src/seltrans.cpp
@@ -255,7 +255,14 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
_point = p;
- _snap_points = selection->getSnapPointsConvexHull();
+ _snap_points = selection->getSnapPoints();
+ if (_snap_points.size() > 100) {
+ /* Snapping a huge number of nodes will take way too long, so limit the number of snappable nodes
+ An average user would rarely ever try to snap such a large number of nodes anyway, because
+ (s)he could hardly discern which node would be snapping */
+ _snap_points = selection->getSnapPointsConvexHull();
+ // Unfortunately, by now we will have lost the font-baseline snappoints :-(
+ }
_box = selection->bounds();
_bbox_points.clear();
if (_box) {