diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2008-05-12 18:58:04 +0000 |
|---|---|---|
| committer | dvlierop2 <dvlierop2@users.sourceforge.net> | 2008-05-12 18:58:04 +0000 |
| commit | de27d953d1c13d2e7563b43c2d959b1b02aee9c3 (patch) | |
| tree | efc8ed7eaba9a2b0ed87eaf14b797103bd8fa33a /src/box3d-context.cpp | |
| parent | fix typo (diff) | |
| download | inkscape-de27d953d1c13d2e7563b43c2d959b1b02aee9c3.tar.gz inkscape-de27d953d1c13d2e7563b43c2d959b1b02aee9c3.zip | |
Add a centralized check (i.e. in the snapper mechanism) whether we've snapped or not, instead of leaving it up to the various tools. This should prevent these tools from moving to (0,0) if they bluntly use the value returned by the snapping mechanism without checking whether snapping has really occured.
(bzr r5659)
Diffstat (limited to 'src/box3d-context.cpp')
| -rw-r--r-- | src/box3d-context.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/box3d-context.cpp b/src/box3d-context.cpp index ca6822dda..a7cead93e 100644 --- a/src/box3d-context.cpp +++ b/src/box3d-context.cpp @@ -332,7 +332,8 @@ static gint sp_box3d_context_root_handler(SPEventContext *event_context, GdkEven /* Snap center */ SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, bc->item); - bc->center = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, button_dt).getPoint(); + m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, button_dt); + bc->center = button_dt; sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), ( GDK_KEY_PRESS_MASK | @@ -363,7 +364,7 @@ static gint sp_box3d_context_root_handler(SPEventContext *event_context, GdkEven SnapManager &m = desktop->namedview->snap_manager; m.setup(desktop, bc->item); - motion_dt = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, motion_dt).getPoint(); + m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, motion_dt); bc->ctrl_dragged = event->motion.state & GDK_CONTROL_MASK; @@ -396,7 +397,7 @@ static gint sp_box3d_context_root_handler(SPEventContext *event_context, GdkEven bc->drag_ptB_proj.normalize(); bc->drag_ptC_proj = cur_persp->tmat.preimage (motion_dt, bc->drag_ptB_proj[Proj::X], Proj::X); } - bc->drag_ptC = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, bc->drag_ptC).getPoint(); + m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, bc->drag_ptC); } sp_box3d_drag(*bc, event->motion.state); |
