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:
@@ -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 )
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user