Changeset 4387

Show
Ignore:
Timestamp:
09/29/06 11:04:53 (2 years ago)
Author:
morris
Message:

Check that buffer is the terminal's active buffer before echoing to stdout

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libwired/trunk/libwired/system/wi-terminal.c

    r4060 r4387  
    623623        array = _wi_terminal_buffer_lines_for_string(buffer, string); 
    624624 
    625         if(buffer->line == wi_array_count(buffer->linebuffer)) { 
    626                 location = wi_terminal_location(buffer->terminal); 
    627                 wi_terminal_move(buffer->terminal, wi_make_point(0, wi_terminal_scroll(buffer->terminal).length)); 
    628                  
    629                 count = wi_array_count(array); 
    630                  
    631                 for(i = 0; i < count; i++) { 
    632                         _wi_terminal_puts(buffer->terminal, WI_STR("\n")); 
    633                         _wi_terminal_puts(buffer->terminal, WI_ARRAY(array, i)); 
     625        if(buffer->terminal->active_buffer == buffer) { 
     626                if(buffer->line == wi_array_count(buffer->linebuffer)) { 
     627                        location = wi_terminal_location(buffer->terminal); 
     628                        wi_terminal_move(buffer->terminal, wi_make_point(0, wi_terminal_scroll(buffer->terminal).length)); 
    634629                         
    635                         buffer->line++; 
     630                        count = wi_array_count(array); 
     631                         
     632                        for(i = 0; i < count; i++) { 
     633                                _wi_terminal_puts(buffer->terminal, WI_STR("\n")); 
     634                                _wi_terminal_puts(buffer->terminal, WI_ARRAY(array, i)); 
     635                                 
     636                                buffer->line++; 
     637                        } 
     638                         
     639                        wi_terminal_move(buffer->terminal, location); 
     640                         
     641                        result = true; 
    636642                } 
    637                  
    638                 wi_terminal_move(buffer->terminal, location); 
    639                  
    640                 result = true; 
    641643        } 
    642644