diff options
| author | Carl Hetherington <cth@carlh.net> | 2006-05-04 14:14:43 +0000 |
|---|---|---|
| committer | cth103 <cth103@users.sourceforge.net> | 2006-05-04 14:14:43 +0000 |
| commit | 2f7f8b94795261a2d0f44455478b146d7da04ce8 (patch) | |
| tree | 174b1919b42806b7ad55fcfd529b598a43f98fc3 /src | |
| parent | fix relative and absolute paths according to w3c uri spec (diff) | |
| download | inkscape-2f7f8b94795261a2d0f44455478b146d7da04ce8.tar.gz inkscape-2f7f8b94795261a2d0f44455478b146d7da04ce8.zip | |
Clean up knutux's fix for the snapper crash.
(bzr r727)
Diffstat (limited to 'src')
| -rw-r--r-- | src/grid-snapper.h | 1 | ||||
| -rw-r--r-- | src/guide-snapper.h | 1 | ||||
| -rw-r--r-- | src/line-snapper.h | 3 | ||||
| -rw-r--r-- | src/object-snapper.h | 3 | ||||
| -rw-r--r-- | src/snap.cpp | 5 | ||||
| -rw-r--r-- | src/snap.h | 2 | ||||
| -rw-r--r-- | src/sp-namedview.cpp | 7 |
7 files changed, 12 insertions, 10 deletions
diff --git a/src/grid-snapper.h b/src/grid-snapper.h index 73a1f2500..247823ac7 100644 --- a/src/grid-snapper.h +++ b/src/grid-snapper.h @@ -24,7 +24,6 @@ namespace Inkscape class GridSnapper : public LineSnapper { public: - GridSnapper() {} GridSnapper(SPNamedView const *nv, NR::Coord const d); private: diff --git a/src/guide-snapper.h b/src/guide-snapper.h index 654149f5c..f4c7b2de7 100644 --- a/src/guide-snapper.h +++ b/src/guide-snapper.h @@ -28,7 +28,6 @@ namespace Inkscape class GuideSnapper : public LineSnapper { public: - GuideSnapper() {} GuideSnapper(SPNamedView const *nv, NR::Coord const d); private: diff --git a/src/line-snapper.h b/src/line-snapper.h index 72afab76d..581466d33 100644 --- a/src/line-snapper.h +++ b/src/line-snapper.h @@ -19,14 +19,13 @@ namespace Inkscape class LineSnapper : public Snapper { public: - LineSnapper() {} LineSnapper(SPNamedView const *nv, NR::Coord const d); protected: typedef std::list<std::pair<NR::Dim2, NR::Coord> > LineList; private: - virtual SnappedPoint _doFreeSnap(NR::Point const &p, + SnappedPoint _doFreeSnap(NR::Point const &p, std::list<SPItem const *> const &it) const; SnappedPoint _doConstrainedSnap(NR::Point const &p, diff --git a/src/object-snapper.h b/src/object-snapper.h index 98d457088..189e96e3e 100644 --- a/src/object-snapper.h +++ b/src/object-snapper.h @@ -25,7 +25,6 @@ namespace Inkscape class ObjectSnapper : public Snapper { public: - ObjectSnapper() {} ObjectSnapper(SPNamedView const *nv, NR::Coord const d); void setSnapToNodes(bool s) { @@ -45,7 +44,7 @@ public: } private: - virtual SnappedPoint _doFreeSnap(NR::Point const &p, + SnappedPoint _doFreeSnap(NR::Point const &p, std::list<SPItem const *> const &it) const; SnappedPoint _doConstrainedSnap(NR::Point const &p, diff --git a/src/snap.cpp b/src/snap.cpp index 940d4c772..452a1e496 100644 --- a/src/snap.cpp +++ b/src/snap.cpp @@ -21,6 +21,11 @@ #include <libnr/nr-scale-ops.h> #include <libnr/nr-values.h> +SnapManager::SnapManager(SPNamedView* v) : grid(v, 0), guide(v, 0), object(v, 0) +{ + +} + SnapManager::SnapperList SnapManager::getSnappers() const { SnapManager::SnapperList s; diff --git a/src/snap.h b/src/snap.h index 49c498789..c77e8df41 100644 --- a/src/snap.h +++ b/src/snap.h @@ -29,6 +29,8 @@ class SPNamedView; class SnapManager { public: + SnapManager(SPNamedView* v); + bool willSnapSomething() const; Inkscape::SnappedPoint freeSnap(Inkscape::Snapper::PointType t, diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp index 4be180237..129ef2c8c 100644 --- a/src/sp-namedview.cpp +++ b/src/sp-namedview.cpp @@ -104,9 +104,6 @@ static void sp_namedview_class_init(SPNamedViewClass * klass) static void sp_namedview_init(SPNamedView *nv) { - // explicitly call a contructor - new(nv) SPNamedView(); - nv->editable = TRUE; nv->showgrid = FALSE; nv->showguides = TRUE; @@ -119,6 +116,8 @@ static void sp_namedview_init(SPNamedView *nv) nv->default_layer_id = 0; nv->connector_spacing = defaultConnSpacing; + + new (&nv->snap_manager) SnapManager(nv); } static void sp_namedview_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) @@ -206,7 +205,7 @@ static void sp_namedview_release(SPObject *object) ((SPObjectClass *) parent_class)->release(object); } - namedview->~SPNamedView(); + namedview->snap_manager.~SnapManager(); } static void sp_namedview_set(SPObject *object, unsigned int key, const gchar *value) |
