Remove controller connection when no controller is set

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1044 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Paul Giblock
2008-06-02 07:59:54 +00:00
parent 5f6d0af98d
commit 38a6278619
5 changed files with 31 additions and 7 deletions

View File

@@ -95,7 +95,14 @@ void controllerConnection::setController( controller * _controller )
delete m_controller;
}
m_controller = _controller;
if( !_controller )
{
m_controller = controller::create( controller::DummyController, NULL );
}
else
{
m_controller = _controller;
}
m_controllerId = -1;
if( _controller->type() != controller::DummyController )

View File

@@ -699,8 +699,21 @@ void knob::connectToController( void )
if (d->chosenController() != NULL )
{
model()->setControllerConnection(
new controllerConnection( d->chosenController() ) );
if( model()->getControllerConnection() )
{
model()->getControllerConnection()->
setController( d->chosenController() );
}
else
{
model()->setControllerConnection(
new controllerConnection( d->chosenController() ) );
}
}
else if( model()->getControllerConnection() )
{
delete model()->getControllerConnection();
model()->setControllerConnection( NULL );
}
delete d;