Skip to content

Commit f5b5716

Browse files
authored
Merge pull request #3693 from meganrogge/clearRuler
clear overview ruler canvas when decoration is disposed
2 parents 38ccf1d + 03bc29e commit f5b5716

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/browser/Decorations/OverviewRulerRenderer.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,7 @@ export class OverviewRulerRenderer extends Disposable {
6767

6868
public override dispose(): void {
6969
for (const decoration of this._decorationElements) {
70-
this._ctx?.clearRect(
71-
0,
72-
Math.round(this._canvas.height * (decoration[0].marker.line / this._bufferService.buffers.active.lines.length)),
73-
this._canvas.width,
74-
window.devicePixelRatio
75-
);
70+
decoration[0].dispose();
7671
}
7772
this._decorationElements.clear();
7873
this._canvas?.remove();
@@ -118,6 +113,15 @@ export class OverviewRulerRenderer extends Disposable {
118113
const element = this._decorationElements.get(decoration);
119114
if (!element) {
120115
this._decorationElements.set(decoration, this._canvas);
116+
decoration.onDispose(() => {
117+
this._ctx?.clearRect(
118+
!decoration!.options!.overviewRulerOptions?.position || decoration!.options!.overviewRulerOptions?.position === 'left' ? 0 : decoration!.options!.overviewRulerOptions?.position === 'right' ? renderSizes[SizeIndex.OUTER_SIZE] + renderSizes[SizeIndex.INNER_SIZE]: renderSizes[SizeIndex.OUTER_SIZE],
119+
Math.round(this._canvas.height * (decoration!.options!.marker.line / this._bufferService.buffers.active.lines.length)),
120+
!decoration!.options!.overviewRulerOptions?.position ? this._width : decoration!.options!.overviewRulerOptions?.position === 'center' ? renderSizes[SizeIndex.INNER_SIZE] : renderSizes[SizeIndex.OUTER_SIZE],
121+
// when a position is provided, the element has less width, so increase its height
122+
window.devicePixelRatio * (decoration!.options!.overviewRulerOptions?.position ? 6 : 2)
123+
);
124+
});
121125
}
122126
this._refreshStyle(decoration, updateAnchor);
123127
}

0 commit comments

Comments
 (0)