| 
					
				 | 
			
			
				@@ -1490,10 +1490,10 @@ void MidiInAlsa :: openPort( unsigned int portNumber, const std::string portName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  snd_seq_port_info_t *pinfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  snd_seq_port_info_alloca( &pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  snd_seq_port_info_t *src_pinfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  snd_seq_port_info_alloca( &src_pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   AlsaMidiData *data = static_cast<AlsaMidiData *> (apiData_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if ( portInfo( data->seq, pinfo, SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ, (int) portNumber ) == 0 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ( portInfo( data->seq, src_pinfo, SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ, (int) portNumber ) == 0 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     std::ostringstream ost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ost << "MidiInAlsa::openPort: the 'portNumber' argument (" << portNumber << ") is invalid."; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     errorString_ = ost.str(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1502,9 +1502,11 @@ void MidiInAlsa :: openPort( unsigned int portNumber, const std::string portName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   snd_seq_addr_t sender, receiver; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  sender.client = snd_seq_port_info_get_client( pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  sender.port = snd_seq_port_info_get_port( pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  receiver.client = snd_seq_client_id( data->seq ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sender.client = snd_seq_port_info_get_client( src_pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sender.port = snd_seq_port_info_get_port( src_pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  snd_seq_port_info_t *pinfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  snd_seq_port_info_alloca( &pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ( data->vport < 0 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     snd_seq_port_info_set_client( pinfo, 0 ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     snd_seq_port_info_set_port( pinfo, 0 ); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1531,6 +1533,7 @@ void MidiInAlsa :: openPort( unsigned int portNumber, const std::string portName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     data->vport = snd_seq_port_info_get_port(pinfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  receiver.client = snd_seq_port_info_get_client( pinfo ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   receiver.port = data->vport; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ( !data->subscription ) { 
			 |