Prevent multiple cell status bar items (#185621)

* Stop running Throttler after class is disposed
Fix microsoft/vscode-jupyter#13537

* Clean up item ID cache

* Add comment
This commit is contained in:
Rob Lourens
2023-06-19 16:22:42 -07:00
committed by GitHub
parent a0b88b58a2
commit 2baf8c51e9
2 changed files with 17 additions and 1 deletions

View File

@@ -742,6 +742,8 @@ export class NotebookViewModel extends Disposable implements EditorFoldingStateD
const cell = this.getCellByHandle(itemDelta.handle);
const deleted = deletesByHandle[itemDelta.handle] ?? [];
delete deletesByHandle[itemDelta.handle];
deleted.forEach(id => this._statusBarItemIdToCellMap.delete(id));
const ret = cell?.deltaCellStatusBarItems(deleted, itemDelta.items) || [];
ret.forEach(id => {
this._statusBarItemIdToCellMap.set(id, itemDelta.handle);
@@ -755,6 +757,7 @@ export class NotebookViewModel extends Disposable implements EditorFoldingStateD
const ids = deletesByHandle[handle];
const cell = this.getCellByHandle(handle);
cell?.deltaCellStatusBarItems(ids, []);
ids.forEach(id => this._statusBarItemIdToCellMap.delete(id));
}
return result;