* 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

@@ -1,5 +1,10 @@
2008-09-07 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* src/core/song.cpp:
- fixed freeze after adding BB-tracks (closes #2089337)
- replaced bad cast for calling projectNotes::save/restoreState by
proper C++ construct
* include/controller_rack_view.h:
* include/fx_mixer_view.h:
* include/main_window.h:
@@ -15,7 +20,7 @@
* src/gui/widgets/controller_rack_view.cpp:
* src/tracks/instrument_track.cpp:
properly save and restore position, size, visibility and state of
MDI-subwindows
MDI-subwindows (closes #2072383)
* src/core/serializing_object.cpp:
fixed hook-mechanism

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() );
}