diff --git a/src/vs/workbench/contrib/scm/browser/scmActivity.ts b/src/vs/workbench/contrib/scm/browser/scmActivity.ts index de8d68429cfca679f364c0c8f0b77320213f2b00..aaa9676f892ab19050ae0a838c96269526df1973 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 7078a1bb2fd7b32bdb3c3d7647b5650eb05eb86b..9ab8d2d859a589baeada9516e2fc6e952d20a5b2 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;