File tree Expand file tree Collapse file tree 2 files changed +10
-5
lines changed
addons/xterm-addon-webgl/src Expand file tree Collapse file tree 2 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -352,7 +352,7 @@ export class WebglRenderer extends Disposable implements IRenderer {
352352 let lastBg : number ;
353353 let y : number ;
354354 let row : number ;
355- let line : IBufferLine | undefined ;
355+ let line : IBufferLine ;
356356 let joinedRanges : [ number , number ] [ ] ;
357357 let isJoined : boolean ;
358358 let lastCharX : number ;
@@ -365,10 +365,7 @@ export class WebglRenderer extends Disposable implements IRenderer {
365365
366366 for ( y = start ; y <= end ; y ++ ) {
367367 row = y + terminal . buffer . ydisp ;
368- line = terminal . buffer . lines . get ( row ) ;
369- if ( ! line ) {
370- break ;
371- }
368+ line = terminal . buffer . lines . get ( row ) ! ;
372369 this . _model . lineLengths [ y ] = 0 ;
373370 joinedRanges = this . _characterJoinerService . getJoinedCharacters ( row ) ;
374371 for ( x = 0 ; x < terminal . cols ; x ++ ) {
Original file line number Diff line number Diff line change @@ -152,6 +152,14 @@ export class RenderService extends Disposable implements IRenderService {
152152 if ( ! this . _renderer ) {
153153 return ;
154154 }
155+
156+ // Since this is debounced, a resize event could have happened between the time a refresh was
157+ // requested and when this triggers. Clamp the values of start and end to ensure they're valid
158+ // given the current viewport state.
159+ start = Math . min ( start , this . _rowCount - 1 ) ;
160+ end = Math . min ( end , this . _rowCount - 1 ) ;
161+
162+ // Render
155163 this . _renderer . renderRows ( start , end ) ;
156164
157165 // Update selection if needed
You can’t perform that action at this time.
0 commit comments