diff options
author | David Robillard <d@drobilla.net> | 2007-10-05 04:44:54 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-10-05 04:44:54 +0000 |
commit | 75f1691ccbb67ec5c718c28fbdedf8dbcc5912bf (patch) | |
tree | a00ffd4584f45df8a6ff9212fcc46021a9efe1ec | |
parent | 802fbfcc46f878f22d1b618baf04889a26d58da0 (diff) | |
download | raul-75f1691ccbb67ec5c718c28fbdedf8dbcc5912bf.tar.gz raul-75f1691ccbb67ec5c718c28fbdedf8dbcc5912bf.tar.bz2 raul-75f1691ccbb67ec5c718c28fbdedf8dbcc5912bf.zip |
Fix connection serialisation.
Do hidden graphviz render to /dev/null instead of /home/dave/test.graphviz. Oops. :)
git-svn-id: http://svn.drobilla.net/lad/raul@823 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | raul/RDFNode.hpp | 3 | ||||
-rw-r--r-- | src/RDFNode.cpp | 5 | ||||
-rw-r--r-- | src/RDFWorld.cpp | 4 |
3 files changed, 10 insertions, 2 deletions
diff --git a/raul/RDFNode.hpp b/raul/RDFNode.hpp index 63b7a2e..cdc103b 100644 --- a/raul/RDFNode.hpp +++ b/raul/RDFNode.hpp @@ -52,11 +52,12 @@ public: librdf_node* get_node() const { return _node; } - operator bool() const { return (_node != NULL); } + operator bool() const { return (_world != NULL && _node != NULL); } const Node& operator=(const Node& other) { if (_node) librdf_free_node(_node); + _world = other._world; _node = (other._node) ? librdf_new_node_from_node(other._node) : NULL; return *this; } diff --git a/src/RDFNode.cpp b/src/RDFNode.cpp index d70389e..4bc1fbb 100644 --- a/src/RDFNode.cpp +++ b/src/RDFNode.cpp @@ -43,6 +43,7 @@ Node::Node(World& world, Type type, const std::string& s) } assert(this->type() == type); + assert(_world); } @@ -51,6 +52,7 @@ Node::Node(World& world) { Glib::Mutex::Lock lock(world.mutex(), Glib::TRY_LOCK); _node = librdf_new_node(world.world()); + assert(_world); } @@ -59,6 +61,7 @@ Node::Node(World& world, librdf_node* node) { Glib::Mutex::Lock lock(world.mutex(), Glib::TRY_LOCK); _node = librdf_new_node_from_node(node); + assert(_world); } @@ -70,6 +73,8 @@ Node::Node(const Node& other) Glib::Mutex::Lock lock(_world->mutex(), Glib::TRY_LOCK); _node = (other._node ? librdf_new_node_from_node(other._node) : NULL); } + + assert(to_string() == other.to_string()); } diff --git a/src/RDFWorld.cpp b/src/RDFWorld.cpp index d68919d..71a231c 100644 --- a/src/RDFWorld.cpp +++ b/src/RDFWorld.cpp @@ -87,7 +87,9 @@ World::blank_id() { std::ostringstream ss; ss << "n" << _next_blank_id++; - return Node(*this, Node::BLANK, ss.str()); + Node result = Node(*this, Node::BLANK, ss.str()); + assert(result.to_string() == ss.str()); + return result; } |