Detach any remaining regular or override DataSource from a DataConsumer that is removed from a DataEndpoint.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4650 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
891dcd4c20
commit
edef21c123
|
@ -899,8 +899,23 @@ void DataEndpoint::setConsumer(DataConsumer* consumer)
|
|||
m_consumer = consumer;
|
||||
if (source && temp)
|
||||
DataTranslator::detachChain(source,temp);
|
||||
if (temp)
|
||||
if (temp) {
|
||||
s_consSrcMutex.lock();
|
||||
RefPointer<DataSource> src = temp->getConnSource();
|
||||
s_consSrcMutex.unlock();
|
||||
if (src) {
|
||||
src->detach(temp);
|
||||
src = 0;
|
||||
}
|
||||
s_consSrcMutex.lock();
|
||||
src = temp->getOverSource();
|
||||
s_consSrcMutex.unlock();
|
||||
if (src) {
|
||||
src->detach(temp);
|
||||
src = 0;
|
||||
}
|
||||
temp->attached(false);
|
||||
}
|
||||
if (consumer)
|
||||
consumer->attached(true);
|
||||
lock.drop();
|
||||
|
|
Loading…
Reference in New Issue