Fix hiding of image preview status bar items (#161278)

This commit is contained in:
Matt Bierner 2022-09-20 13:49:03 -07:00 committed by GitHub
parent 8b7180cbba
commit a5f5a730d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 3 deletions

View file

@ -119,6 +119,12 @@ class ImagePreview extends MediaPreview {
this.webviewEditor.webview.postMessage({ type: 'setActive', value: this.webviewEditor.active });
}
public override dispose(): void {
super.dispose();
this.sizeStatusBarEntry.hide(this);
this.zoomStatusBarEntry.hide(this);
}
public zoomIn() {
if (this.previewState === PreviewState.Active) {
this.webviewEditor.webview.postMessage({ type: 'zoomIn' });

View file

@ -48,10 +48,8 @@ export abstract class MediaPreview extends Disposable {
}));
this._register(webviewEditor.onDidDispose(() => {
if (this.previewState === PreviewState.Active) {
this.binarySizeStatusBarEntry.hide(this);
}
this.previewState = PreviewState.Disposed;
this.dispose();
}));
const watcher = this._register(vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(resource, '*')));
@ -69,6 +67,11 @@ export abstract class MediaPreview extends Disposable {
}));
}
public override dispose() {
super.dispose();
this.binarySizeStatusBarEntry.hide(this);
}
protected updateBinarySize() {
vscode.workspace.fs.stat(this.resource).then(({ size }) => {
this._binarySize = size;