diff --git a/src/vs/workbench/parts/markers/browser/markersPanel.ts b/src/vs/workbench/parts/markers/browser/markersPanel.ts index ce9d07a2d670e0d1bc56f25cb80740fa6fb64923..a0b6c0fa3b30a093b6476d25a9d072923fa9d473 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanel.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanel.ts @@ -122,11 +122,17 @@ export class MarkersPanel extends Panel { } public setVisible(visible: boolean): TPromise { - let promise: TPromise = super.setVisible(visible); - if (!visible) { - this.rangeHighlightDecorations.removeHighlightRange(); - } - return promise; + const wasVisible = this.isVisible(); + return super.setVisible(visible) + .then(() => { + if (this.isVisible()) { + if (!wasVisible) { + this.refreshPanel(); + } + } else { + this.rangeHighlightDecorations.removeHighlightRange(); + } + }); } public getActions(): IAction[] { @@ -166,13 +172,15 @@ export class MarkersPanel extends Panel { } private refreshPanel(): TPromise { - this.collapseAllAction.enabled = this.markersModel.hasFilteredResources(); - dom.toggleClass(this.treeContainer, 'hidden', !this.markersModel.hasFilteredResources()); - this.renderMessage(); - if (this.markersModel.hasFilteredResources()) { - return this.tree.refresh().then(() => { - this.autoExpand(); - }); + if (this.isVisible()) { + this.collapseAllAction.enabled = this.markersModel.hasFilteredResources(); + dom.toggleClass(this.treeContainer, 'hidden', !this.markersModel.hasFilteredResources()); + this.renderMessage(); + if (this.markersModel.hasFilteredResources()) { + return this.tree.refresh().then(() => { + this.autoExpand(); + }); + } } return TPromise.as(null); }