From 5f9144dfd71b2aaedf43ed6a1ffd38167863b9a4 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Thu, 27 Dec 2018 16:56:20 -0800 Subject: [PATCH] Fix null/whitespace early exit --- src/renderer/webgl/GlyphRenderer.ts | 6 +++--- src/renderer/webgl/WebglCharAtlas.ts | 5 ----- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/renderer/webgl/GlyphRenderer.ts b/src/renderer/webgl/GlyphRenderer.ts index 51adc999..3f8f6edf 100644 --- a/src/renderer/webgl/GlyphRenderer.ts +++ b/src/renderer/webgl/GlyphRenderer.ts @@ -6,7 +6,7 @@ import { createProgram, PROJECTION_MATRIX } from './WebglUtils'; import { IRenderDimensions } from '../Types'; import { ITerminal, IBufferLine } from '../../Types'; -import { NULL_CELL_CODE, CHAR_DATA_CHAR_INDEX } from '../../Buffer'; +import { NULL_CELL_CODE, CHAR_DATA_CHAR_INDEX, WHITESPACE_CELL_CODE } from '../../Buffer'; import WebglCharAtlas from './WebglCharAtlas'; import { IWebGL2RenderingContext, IWebGLVertexArrayObject, IRenderModel, IRasterizedGlyph } from './Types'; import { INDICIES_PER_CELL } from './WebglRenderer'; @@ -174,7 +174,7 @@ export class GlyphRenderer { const i = (y * terminal.cols + x) * INDICES_PER_CELL; // Exit early if this is a null/space character - if (code === NULL_CELL_CODE || code === undefined/* This is used for the right side of wide chars */) { + if (code === NULL_CELL_CODE || code === WHITESPACE_CELL_CODE || code === undefined/* This is used for the right side of wide chars */) { fill(array, 0, i, i + INDICES_PER_CELL - 1 - CELL_POSITION_INDICES); return; } @@ -232,7 +232,7 @@ export class GlyphRenderer { // Draw middle rows const middleRowsCount = Math.max(model.selection.viewportCappedEndRow - model.selection.viewportCappedStartRow - 1, 0); - for (let y = (model.selection.viewportCappedStartRow + 1); y <= model.selection.viewportCappedStartRow + middleRowsCount; y++) { + for (let y = model.selection.viewportCappedStartRow + 1; y <= model.selection.viewportCappedStartRow + middleRowsCount; y++) { this._updateSelectionRange(0, startRowEndCol, y, model, bg, fg); } diff --git a/src/renderer/webgl/WebglCharAtlas.ts b/src/renderer/webgl/WebglCharAtlas.ts index d181acbf..6eae9579 100644 --- a/src/renderer/webgl/WebglCharAtlas.ts +++ b/src/renderer/webgl/WebglCharAtlas.ts @@ -133,11 +133,6 @@ export default class WebglCharAtlas extends BaseCharAtlas { * Gets the glyphs texture coords, drawing the texture if it's not already */ public getRasterizedGlyph(code: number, attr: number, bg: number, fg: number, enableBold: boolean): IRasterizedGlyph { - // Space is always an empty cell, special case this as it's so common - if (code === 32) { - return; - } - let rasterizedGlyphSet = this._cacheMap[code]; if (!rasterizedGlyphSet) { rasterizedGlyphSet = {};