Fixes removing controller in controller rack bug
This commit is contained in:
1 parent
0ff636b363
commit
600232967a
9 files changed
+84
-7
No files matched your search
@@ -40,6 +40,7 @@ ControllerConnectionVector ControllerConnection::s_connections;
|
||||
|
||||
|
||||
ControllerConnection::ControllerConnection( Controller * _controller ) :
|
||||
m_controller( NULL ),
|
||||
m_controllerId( -1 ),
|
||||
m_ownsController( false )
|
||||
{
|
||||
@@ -71,6 +72,10 @@ ControllerConnection::ControllerConnection( int _controllerId ) :
|
||||
|
||||
ControllerConnection::~ControllerConnection()
|
||||
{
|
||||
if( m_controller && m_controller->type() != Controller::DummyController )
|
||||
{
|
||||
m_controller->removeConnection( this );
|
||||
}
|
||||
s_connections.remove( s_connections.indexOf( this ) );
|
||||
if( m_ownsController )
|
||||
{
|
||||
@@ -93,6 +98,12 @@ void ControllerConnection::setController( Controller * _controller )
|
||||
if( m_ownsController && m_controller )
|
||||
{
|
||||
delete m_controller;
|
||||
m_controller = NULL;
|
||||
}
|
||||
|
||||
if( m_controller && m_controller->type() != Controller::DummyController )
|
||||
{
|
||||
m_controller->removeConnection( this );
|
||||
}
|
||||
|
||||
if( !_controller )
|
||||
@@ -107,6 +118,7 @@ void ControllerConnection::setController( Controller * _controller )
|
||||
|
||||
if( _controller->type() != Controller::DummyController )
|
||||
{
|
||||
_controller->addConnection( this );
|
||||
QObject::connect( _controller, SIGNAL( valueChanged() ),
|
||||
this, SIGNAL( valueChanged() ) );
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user