summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 072f6c3)
raw | patch | inline | side by side (parent: 072f6c3)
| author | knutux <knutux@users.sourceforge.net> | |
| Thu, 4 May 2006 11:13:11 +0000 (11:13 +0000) | ||
| committer | knutux <knutux@users.sourceforge.net> | |
| Thu, 4 May 2006 11:13:11 +0000 (11:13 +0000) |
diff --git a/src/grid-snapper.cpp b/src/grid-snapper.cpp
index f1d4e4bf6ffe5ce3a4d3662ea5cab55614f10abd..419dc4b82a9889d95241a68eecdd6175b2346177 100644 (file)
--- a/src/grid-snapper.cpp
+++ b/src/grid-snapper.cpp
{
LineList s;
+ if ( NULL == _named_view ) {
+ return s;
+ }
+
SPCGrid *griditem = NULL;
for (GSList *l = _named_view->gridviews; l != NULL; l = l->next) {
// FIXME : this is a hack since there is only one view for now
diff --git a/src/grid-snapper.h b/src/grid-snapper.h
index 247823ac7738cb4cb022a86ffc0b08f13a4a4f68..73a1f25008c4c5ff730f9222dcda1bfac62b1aa4 100644 (file)
--- a/src/grid-snapper.h
+++ b/src/grid-snapper.h
class GridSnapper : public LineSnapper
{
public:
+ GridSnapper() {}
GridSnapper(SPNamedView const *nv, NR::Coord const d);
private:
diff --git a/src/guide-snapper.cpp b/src/guide-snapper.cpp
index fbf1af0af1bd61c38e64177b90bfcd32cd1759ea..a05ecd3e6b4423c517710c83b21965540dd0d5f9 100644 (file)
--- a/src/guide-snapper.cpp
+++ b/src/guide-snapper.cpp
{
LineList s;
+ if ( NULL == _named_view ) {
+ return s;
+ }
+
for (GSList const *l = _named_view->guides; l != NULL; l = l->next) {
SPGuide const *g = SP_GUIDE(l->data);
diff --git a/src/guide-snapper.h b/src/guide-snapper.h
index f4c7b2de711de71723b4749fb4585d2beeb234a7..654149f5c5fa90fbaaee64bc70803addd1896b11 100644 (file)
--- a/src/guide-snapper.h
+++ b/src/guide-snapper.h
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 581466d330533b4ebbdd005c4d31440525253b9e..72afab76d0c4e3a3f091cbd4046b1c072621e2ec 100644 (file)
--- a/src/line-snapper.h
+++ b/src/line-snapper.h
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:
- SnappedPoint _doFreeSnap(NR::Point const &p,
+ virtual 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.cpp b/src/object-snapper.cpp
index 6146c11b8584b8cbacc9a8a113eb70565a1da49d..9a3f61525d91c288060ce1b09b1a7fdc204554d9 100644 (file)
--- a/src/object-snapper.cpp
+++ b/src/object-snapper.cpp
Inkscape::SnappedPoint Inkscape::ObjectSnapper::_doFreeSnap(NR::Point const &p,
std::list<SPItem const *> const &it) const
{
+ if ( NULL == _named_view ) {
+ return SnappedPoint(p, NR_HUGE);
+ }
+
/* Get a list of all the SPItems that we will try to snap to */
std::list<SPItem*> cand;
_findCandidates(cand, sp_document_root(_named_view->document), it, p);
diff --git a/src/object-snapper.h b/src/object-snapper.h
index 189e96e3e249c925303a8c55edd967a4605b70f6..98d457088856bb482adec17ffb4ae3628381aedc 100644 (file)
--- a/src/object-snapper.h
+++ b/src/object-snapper.h
class ObjectSnapper : public Snapper
{
public:
+ ObjectSnapper() {}
ObjectSnapper(SPNamedView const *nv, NR::Coord const d);
void setSnapToNodes(bool s) {
}
private:
- SnappedPoint _doFreeSnap(NR::Point const &p,
+ virtual SnappedPoint _doFreeSnap(NR::Point const &p,
std::list<SPItem const *> const &it) const;
SnappedPoint _doConstrainedSnap(NR::Point const &p,
diff --git a/src/snapper.h b/src/snapper.h
index 02f7cb7e96998e6892388c326526e281a2852cba..2f3c487d6b9bd672f4c987d154f07d6a201408f3 100644 (file)
--- a/src/snapper.h
+++ b/src/snapper.h
class Snapper
{
public:
+ Snapper() {}
Snapper(SPNamedView const *nv, ::NR::Coord const d);
virtual ~Snapper() {}
diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp
index bd7793ca13fbb169dd4786d34e2cab49f5d750f0..4be180237da119729dc7461c799463b5bcbacadd 100644 (file)
--- a/src/sp-namedview.cpp
+++ b/src/sp-namedview.cpp
static void sp_namedview_init(SPNamedView *nv)
{
+ // explicitly call a contructor
+ new(nv) SPNamedView();
+
nv->editable = TRUE;
nv->showgrid = FALSE;
nv->showguides = TRUE;
if (((SPObjectClass *) parent_class)->release) {
((SPObjectClass *) parent_class)->release(object);
}
+
+ namedview->~SPNamedView();
}
static void sp_namedview_set(SPObject *object, unsigned int key, const gchar *value)