Changeset 1565

Show
Ignore:
Timestamp:
02/19/10 21:55:18 (3 years ago)
Author:
wolke
Message:

fix small left sample object problem.
after loading layers out of MAX_LAYERS range we lost sample objects.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/gui/src/InstrumentEditor/InstrumentEditor.cpp

    r1497 r1565  
    626626 
    627627        int selectedLayer =  m_nSelectedLayer; 
     628        int firstselection = selectedLayer; 
    628629         
    629630         
     
    633634                for(int i=2;i < filename.size();++i)  
    634635                { 
    635                         if( i-2 >= MAX_LAYERS ) break; 
     636                        selectedLayer = m_nSelectedLayer + i - 2; 
     637                        if( ( i-2 >= MAX_LAYERS ) || ( selectedLayer + 1  > MAX_LAYERS ) ) break; 
    636638 
    637639                        Sample *newSample = Sample::load( filename[i] ); 
     
    648650                                at m_nSelectedLayer and the next layer at m_nSelectedLayer+1 
    649651                        */ 
    650                          
    651                         selectedLayer = m_nSelectedLayer + i - 2; 
    652  
    653652                         
    654653                        H2Core::InstrumentLayer *pLayer = pInstr->get_layer( selectedLayer ); 
     
    668667                        if ( fnc ){ 
    669668                                QString newfilename = filename[i].section( '/', -1 ); 
    670                                         newfilename.replace( "." + newfilename.section( '.', -1 ), ""); 
     669                                newfilename.replace( "." + newfilename.section( '.', -1 ), ""); 
    671670                                m_pInstrument->set_name( newfilename ); 
    672671                        } 
     
    685684 
    686685        selectedInstrumentChangedEvent();    // update all 
     686        selectLayer( firstselection ); 
    687687        m_pLayerPreview->updateAll(); 
    688688} 
     
    744744                return; 
    745745        } 
    746  
    747746        m_nSelectedLayer = nLayer; 
    748747