diff --git a/src/seltrans.cpp b/src/seltrans.cpp
index 0fd15593c78ae910c35670e33bc357a6e8354ea5..e55c25d797a2ce1fc643394a87b06f7a0e21c62a 100644 (file)
--- a/src/seltrans.cpp
+++ b/src/seltrans.cpp
@@ -359,13 +359,17 @@ void Inkscape::SelTrans::grab(Geom::Point const &p, gdouble x, gdouble y, bool s
// Now either _bbox_points or _snap_points has a single element, the other one has zero..... or both have zero elements
g_assert((_bbox_points.size() + _snap_points.size()) < 2);
- if (_bbox_points.size() == 1) {
- _desktop->snapindicator->set_new_snapsource(_bbox_points.at(0));
- } else if (_snap_points.size() == 1){
- _desktop->snapindicator->set_new_snapsource(_snap_points.at(0));
+ if (m.snapprefs.getSnapEnabledGlobally()) {
+ if (_bbox_points.size() == 1) {
+ _desktop->snapindicator->set_new_snapsource(_bbox_points.at(0));
+ } else if (_snap_points.size() == 1){
+ _desktop->snapindicator->set_new_snapsource(_snap_points.at(0));
+ }
}
}
+ sp_canvas_set_snap_delay_active(_desktop->canvas, true);
+
// The lines below are useful for debugging any snapping issues, as they'll spit out all points that are considered for snapping
/*std::cout << "Number of snap points: " << _snap_points.size() << std::endl;
_grabbed = false;
_show_handles = true;
+ sp_canvas_set_snap_delay_active(_desktop->canvas, false);
+
+ _desktop->snapindicator->remove_snapsource();
+
Inkscape::Selection *selection = sp_desktop_selection(_desktop);
_updateVolatileState();