make sure unregisterSink works
authorKevron Rees <tripzero.kev@gmail.com>
Sat, 4 May 2013 19:47:37 +0000 (12:47 -0700)
committerKevron Rees <tripzero.kev@gmail.com>
Sat, 4 May 2013 19:47:37 +0000 (12:47 -0700)
ambd/core.cpp
lib/abstractsink.cpp

index 703e35d..0b9669a 100644 (file)
@@ -50,10 +50,16 @@ Core::Core()
 
 Core::~Core()
 {
+       std::vector<AbstractSink*> toDelete;
        for(auto itr = mSinks.begin(); itr != mSinks.end(); itr++)
        {
                AbstractSink* sink = *itr;
-               delete sink;
+               toDelete.push_back(sink);
+       }
+
+       for(int i=0; i<toDelete.size(); i++)
+       {
+               delete toDelete[i];
        }
 }
 
index 82de77f..a8ec558 100644 (file)
@@ -28,7 +28,7 @@ AbstractSink::AbstractSink(AbstractRoutingEngine* engine, map<string, string> co
 
 AbstractSink::~AbstractSink()
 {
-       //routingEngine->unregisterSink(this);
+       routingEngine->unregisterSink(this);
 }
 
 void AbstractSink::setConfiguration(map<string, string> config)