* fixed freeze after adding BB-tracks (closes #2089337)

* replaced bad cast for calling projectNotes::save/restoreState by proper C++ construct



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1570 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-09-07 12:33:56 +00:00
parent 3372309f73
commit aa12ee5082
2 changed files with 15 additions and 6 deletions

View File

@@ -672,6 +672,7 @@ void song::addBBTrack( void )
track * t = track::create( track::BBTrack, this );
engine::getBBTrackContainer()->setCurrentBB(
bbTrack::numOfBBTrack( t ) );
engine::getMixer()->unlock();
}
@@ -679,7 +680,9 @@ void song::addBBTrack( void )
void song::addSampleTrack( void )
{
engine::getMixer()->lock();
(void) track::create( track::SampleTrack, this );
engine::getMixer()->unlock();
}
@@ -687,7 +690,9 @@ void song::addSampleTrack( void )
void song::addAutomationTrack( void )
{
engine::getMixer()->lock();
(void) track::create( track::AutomationTrack, this );
engine::getMixer()->unlock();
}
@@ -937,9 +942,8 @@ void song::loadProject( const QString & _file_name )
engine::getProjectNotes()->
nodeName() )
{
( (journallingObject *)( engine::
getProjectNotes() ) )->
restoreState( node.toElement() );
engine::getProjectNotes()->
serializingObject::restoreState( node.toElement() );
}
else if( node.nodeName() ==
m_playPos[Mode_PlaySong].
@@ -1008,8 +1012,8 @@ bool song::saveProject( void )
engine::getControllerRackView()->saveState( mmp, mmp.content() );
engine::getPianoRoll()->saveState( mmp, mmp.content() );
engine::getAutomationEditor()->saveState( mmp, mmp.content() );
( (journallingObject *)( engine::getProjectNotes() ) )->
saveState( mmp, mmp.content() );
engine::getProjectNotes()->
serializingObject::saveState( mmp, mmp.content() );
m_playPos[Mode_PlaySong].m_timeLine->saveState(
mmp, mmp.content() );
}