--- a/src/core/config.cc Sun Mar 02 21:00:37 2008 +0100
+++ b/src/core/config.cc Sun Mar 02 21:12:21 2008 +0100
@@ -411,7 +411,7 @@
Singleton<ConfigImpl>::Get ()->RegisterRootNamespaceObject (obj);
}
-void Unregister (Ptr<Object> obj)
+void UnregisterRootNamespaceObject (Ptr<Object> obj)
{
Singleton<ConfigImpl>::Get ()->UnregisterRootNamespaceObject (obj);
}
--- a/src/core/config.h Sun Mar 02 21:00:37 2008 +0100
+++ b/src/core/config.h Sun Mar 02 21:12:21 2008 +0100
@@ -18,6 +18,7 @@
void ConnectWithContext (std::string path, const CallbackBase &cb);
void RegisterRootNamespaceObject (Ptr<Object> obj);
+void UnregisterRootNamespaceObject (Ptr<Object> obj);
} // namespace Config
--- a/src/node/node-list.cc Sun Mar 02 21:00:37 2008 +0100
+++ b/src/node/node-list.cc Sun Mar 02 21:12:21 2008 +0100
@@ -23,6 +23,7 @@
#include "ns3/composite-trace-resolver.h"
#include "ns3/simulator.h"
#include "ns3/object-vector.h"
+#include "ns3/config.h"
#include "node-list.h"
#include "node.h"
@@ -107,6 +108,7 @@
if (ptr == 0)
{
ptr = CreateObject<NodeListPriv> ();
+ Config::RegisterRootNamespaceObject (ptr);
Simulator::ScheduleDestroy (&NodeListPriv::Delete);
}
return &ptr;
@@ -114,6 +116,7 @@
void
NodeListPriv::Delete (void)
{
+ Config::UnregisterRootNamespaceObject (Get ());
(*DoGet ()) = 0;
}