Skip to content

Commit b3e4e68

Browse files
authored
SCM - fix action bar regression (#182063)
SCM - fix action bar regression (#182032)
1 parent 1c5afb2 commit b3e4e68

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/vs/workbench/contrib/scm/browser/scmViewPane.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,7 @@ interface ResourceTemplate {
357357
decorationIcon: HTMLElement;
358358
actionBar: ActionBar;
359359
actionBarMenu: IMenu | undefined;
360+
readonly actionBarMenuListener: MutableDisposable<IDisposable>;
360361
readonly elementDisposables: DisposableStore;
361362
readonly disposables: IDisposable;
362363
}
@@ -418,9 +419,10 @@ class ResourceRenderer implements ICompressibleTreeRenderer<ISCMResource | IReso
418419
});
419420

420421
const decorationIcon = append(element, $('.decoration-icon'));
421-
const disposables = combinedDisposable(actionBar, fileLabel);
422+
const actionBarMenuListener = new MutableDisposable<IDisposable>();
423+
const disposables = combinedDisposable(actionBar, fileLabel, actionBarMenuListener);
422424

423-
return { element, name, fileLabel, decorationIcon, actionBar, actionBarMenu: undefined, elementDisposables: new DisposableStore(), disposables };
425+
return { element, name, fileLabel, decorationIcon, actionBar, actionBarMenu: undefined, actionBarMenuListener, elementDisposables: new DisposableStore(), disposables };
424426
}
425427

426428
renderElement(node: ITreeNode<ISCMResource, FuzzyScore | LabelFuzzyScore> | ITreeNode<ISCMResource | IResourceNode<ISCMResource, ISCMResourceGroup>, FuzzyScore | LabelFuzzyScore>, index: number, template: ResourceTemplate): void {
@@ -521,8 +523,9 @@ class ResourceRenderer implements ICompressibleTreeRenderer<ISCMResource | IReso
521523
private _renderActionBar(template: ResourceTemplate, resourceOrFolder: ISCMResource | IResourceNode<ISCMResource, ISCMResourceGroup>, menu: IMenu): void {
522524
if (!template.actionBarMenu || template.actionBarMenu !== menu) {
523525
template.actionBar.clear();
524-
template.elementDisposables.add(connectPrimaryMenuToInlineActionBar(menu, template.actionBar));
526+
525527
template.actionBarMenu = menu;
528+
template.actionBarMenuListener.value = connectPrimaryMenuToInlineActionBar(menu, template.actionBar);
526529
}
527530

528531
template.actionBar.context = resourceOrFolder;

0 commit comments

Comments
 (0)