Files
orca/config/patches/monaco-editor@0.55.1.patch
T

21 lines
1.3 KiB
Diff

diff --git a/esm/vs/editor/browser/widget/diffEditor/utils/editorGutter.js b/esm/vs/editor/browser/widget/diffEditor/utils/editorGutter.js
index cbe9bb8e8bb97ca69e1026d2335857ec7ae32a16..86c4f393b76a4d433be297833188058c99a168e8 100644
--- a/esm/vs/editor/browser/widget/diffEditor/utils/editorGutter.js
+++ b/esm/vs/editor/browser/widget/diffEditor/utils/editorGutter.js
@@ -27,6 +27,15 @@ class EditorGutter extends Disposable {
this.editorOnDidContentSizeChange = observableSignalFromEvent('onDidContentSizeChange', this._editor.onDidContentSizeChange);
this.domNodeSizeChanged = observableSignal('domNodeSizeChanged');
this.views = new Map();
+ // Orca patch (backport of monaco-editor 0.56.0): dispose the views still on screen, or each
+ // view's toolbar menu stays registered on the global MenuRegistry and retains the whole editor.
+ this._register(toDisposable(() => {
+ for (const view of this.views.values()) {
+ view.gutterItemView.dispose();
+ view.domNode.remove();
+ }
+ this.views.clear();
+ }));
this._domNode.className = 'gutter monaco-editor';
const scrollDecoration = this._domNode.appendChild(h('div.scroll-decoration', { role: 'presentation', ariaHidden: 'true', style: { width: '100%' } })
.root);