Code

Fix snapping of spirals
authordvlierop2 <dvlierop2@users.sourceforge.net>
Thu, 28 Aug 2008 19:59:11 +0000 (19:59 +0000)
committerdvlierop2 <dvlierop2@users.sourceforge.net>
Thu, 28 Aug 2008 19:59:11 +0000 (19:59 +0000)
src/spiral-context.cpp

index dc2e99e07e01d0947ec2ac439784a1de2d8d8364..431e611c56eb5ac07a26659d8a93f1169fa7c51c 100644 (file)
@@ -439,12 +439,14 @@ sp_spiral_drag(SPSpiralContext *sc, NR::Point p, guint state)
         sp_canvas_force_full_redraw_after_interruptions(desktop->canvas, 5);
     }
 
-    Geom::Point const p0 = to_2geom(sp_desktop_dt2root_xy_point(desktop, sc->center));
-    Geom::Point p1 = to_2geom(sp_desktop_dt2root_xy_point(desktop, p));
     SnapManager &m = desktop->namedview->snap_manager;
     m.setup(desktop, true, sc->item);
-    m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, p1);
+    Geom::Point pt2g = to_2geom(p);
+    m.freeSnapReturnByRef(Inkscape::Snapper::SNAPPOINT_NODE, pt2g);
 
+    Geom::Point const p0 = to_2geom(sp_desktop_dt2root_xy_point(desktop, sc->center));
+    Geom::Point const p1 = to_2geom(sp_desktop_dt2root_xy_point(desktop, from_2geom(pt2g)));        
+    
     SPSpiral *spiral = SP_SPIRAL(sc->item);
 
     Geom::Point const delta = p1 - p0;