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:
@@ -1,5 +1,6 @@
|
||||
2008-06-02 Paul Giblock <drfaygo/at/gmail/dot/com>
|
||||
|
||||
* include/automatable_model.h:
|
||||
* include/controller_connection.h:
|
||||
* src/core/automatable_model.cpp:
|
||||
* src/core/controller_connection.cpp:
|
||||
|
||||
@@ -117,9 +117,12 @@ public:
|
||||
inline void setControllerConnection( controllerConnection * _c )
|
||||
{
|
||||
m_controllerConnection = _c;
|
||||
QObject::connect( m_controllerConnection,
|
||||
SIGNAL( valueChanged() ),
|
||||
this, SIGNAL( dataChanged() ) );
|
||||
if( _c )
|
||||
{
|
||||
QObject::connect( m_controllerConnection,
|
||||
SIGNAL( valueChanged() ),
|
||||
this, SIGNAL( dataChanged() ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
return m_controller;
|
||||
}
|
||||
|
||||
inline void setController( controller * _controller );
|
||||
void setController( controller * _controller );
|
||||
|
||||
inline void setController( int _controllerId );
|
||||
|
||||
|
||||
@@ -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