From 086e049145fc36047ad607986cfe56e1de2c3aef Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 10 Jul 2019 15:43:11 -0700 Subject: [PATCH] Use a mutable disposable to track showActivity result --- src/vs/workbench/contrib/scm/browser/scmActivity.ts | 10 +++++----- .../contrib/update/electron-browser/update.ts | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/vs/workbench/contrib/scm/browser/scmActivity.ts b/src/vs/workbench/contrib/scm/browser/scmActivity.ts index de8d68429cf..aaa9676f892 100644 --- a/src/vs/workbench/contrib/scm/browser/scmActivity.ts +++ b/src/vs/workbench/contrib/scm/browser/scmActivity.ts @@ -5,7 +5,7 @@ import { localize } from 'vs/nls'; import { basename } from 'vs/base/common/resources'; -import { IDisposable, dispose, Disposable, DisposableStore, combinedDisposable } from 'vs/base/common/lifecycle'; +import { IDisposable, dispose, Disposable, DisposableStore, combinedDisposable, MutableDisposable } from 'vs/base/common/lifecycle'; import { Event } from 'vs/base/common/event'; import { VIEWLET_ID, ISCMService, ISCMRepository } from 'vs/workbench/contrib/scm/common/scm'; import { IActivityService, NumberBadge } from 'vs/workbench/services/activity/common/activity'; @@ -18,7 +18,7 @@ import { ILogService } from 'vs/platform/log/common/log'; export class StatusUpdater implements IWorkbenchContribution { - private badgeDisposable: IDisposable = Disposable.None; + private readonly badgeDisposable = new MutableDisposable(); private disposables: IDisposable[] = []; constructor( @@ -51,7 +51,7 @@ export class StatusUpdater implements IWorkbenchContribution { } private render(): void { - this.badgeDisposable.dispose(); + this.badgeDisposable.clear(); const count = this.scmService.repositories.reduce((r, repository) => { if (typeof repository.provider.count === 'number') { @@ -66,9 +66,9 @@ export class StatusUpdater implements IWorkbenchContribution { if (count > 0) { const badge = new NumberBadge(count, num => localize('scmPendingChangesBadge', '{0} pending changes', num)); - this.badgeDisposable = this.activityService.showActivity(VIEWLET_ID, badge, 'scm-viewlet-label'); + this.badgeDisposable.value = this.activityService.showActivity(VIEWLET_ID, badge, 'scm-viewlet-label'); } else { - this.badgeDisposable = Disposable.None; + this.badgeDisposable.clear(); } } diff --git a/src/vs/workbench/contrib/update/electron-browser/update.ts b/src/vs/workbench/contrib/update/electron-browser/update.ts index 7078a1bb2fd..9ab8d2d859a 100644 --- a/src/vs/workbench/contrib/update/electron-browser/update.ts +++ b/src/vs/workbench/contrib/update/electron-browser/update.ts @@ -6,7 +6,7 @@ import * as nls from 'vs/nls'; import severity from 'vs/base/common/severity'; import { Action } from 'vs/base/common/actions'; -import { IDisposable, Disposable } from 'vs/base/common/lifecycle'; +import { Disposable, MutableDisposable } from 'vs/base/common/lifecycle'; import pkg from 'vs/platform/product/node/package'; import product from 'vs/platform/product/node/product'; import { URI } from 'vs/base/common/uri'; @@ -219,7 +219,7 @@ export class Win3264BitContribution implements IWorkbenchContribution { export class UpdateContribution extends Disposable implements IWorkbenchContribution { private state: UpdateState; - private badgeDisposable: IDisposable = Disposable.None; + private readonly badgeDisposable = this._register(new MutableDisposable()); private updateStateContextKey: IContextKey; constructor( @@ -298,10 +298,10 @@ export class UpdateContribution extends Disposable implements IWorkbenchContribu clazz = 'progress-badge'; } - this.badgeDisposable.dispose(); + this.badgeDisposable.clear(); if (badge) { - this.badgeDisposable = this.activityService.showActivity(GLOBAL_ACTIVITY_ID, badge, clazz); + this.badgeDisposable.value = this.activityService.showActivity(GLOBAL_ACTIVITY_ID, badge, clazz); } this.state = state; -- GitLab