diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2007-08-28 20:19:48 +0000 |
|---|---|---|
| committer | dvlierop2 <dvlierop2@users.sourceforge.net> | 2007-08-28 20:19:48 +0000 |
| commit | d21935fd867d0bb9900887573e202ef3766078a7 (patch) | |
| tree | e6b077c6444b306d5b8e6bc064875b100c3de8f2 /src/object-snapper.cpp | |
| parent | Implement snapping of guides while dragging them, and snap TO item centers (w... (diff) | |
| download | inkscape-d21935fd867d0bb9900887573e202ef3766078a7.tar.gz inkscape-d21935fd867d0bb9900887573e202ef3766078a7.zip | |
Whoops, put check on empty rect back in! Maybe no one noticed ;-)
(bzr r3604)
Diffstat (limited to 'src/object-snapper.cpp')
| -rw-r--r-- | src/object-snapper.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/object-snapper.cpp b/src/object-snapper.cpp index 57937145a..785f80960 100644 --- a/src/object-snapper.cpp +++ b/src/object-snapper.cpp @@ -62,17 +62,18 @@ void Inkscape::ObjectSnapper::_findCandidates(std::list<SPItem*>& c, _findCandidates(c, o, it, p, snap_dim); } else { NR::Maybe<NR::Rect> b = sp_item_bbox_desktop(SP_ITEM(o)); - NR::Point b_min = b->min(); - NR::Point b_max = b->max(); - double d = getDistance(); - bool withinX = (p[NR::X] >= b_min[NR::X] - d) && (p[NR::X] <= b_max[NR::X] + d); - bool withinY = (p[NR::Y] >= b_min[NR::Y] - d) && (p[NR::Y] <= b_max[NR::Y] + d); - if (snap_dim == SNAP_X && withinX || snap_dim == SNAP_Y && withinY || snap_dim == SNAP_XY && withinX && withinY) { - c.push_back(SP_ITEM(o)); + if (b) { + NR::Point b_min = b->min(); + NR::Point b_max = b->max(); + double d = getDistance(); + bool withinX = (p[NR::X] >= b_min[NR::X] - d) && (p[NR::X] <= b_max[NR::X] + d); + bool withinY = (p[NR::Y] >= b_min[NR::Y] - d) && (p[NR::Y] <= b_max[NR::Y] + d); + if (snap_dim == SNAP_X && withinX || snap_dim == SNAP_Y && withinY || snap_dim == SNAP_XY && withinX && withinY) { + c.push_back(SP_ITEM(o)); + } } } - } - + } } } } |
