File tree Expand file tree Collapse file tree
src/vs/base/browser/ui/actionbar Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -64,8 +64,9 @@ export class ActionBar extends Disposable implements IActionRunner {
6464 private _onDidBlur = this . _register ( new Emitter < void > ( ) ) ;
6565 readonly onDidBlur = this . _onDidBlur . event ;
6666
67- private _onDidCancel = this . _register ( new Emitter < void > ( ) ) ;
67+ private _onDidCancel = this . _register ( new Emitter < void > ( { onFirstListenerAdd : ( ) => this . cancelHasListener = true } ) ) ;
6868 readonly onDidCancel = this . _onDidCancel . event ;
69+ private cancelHasListener = false ;
6970
7071 private _onDidRun = this . _register ( new Emitter < IRunEvent > ( ) ) ;
7172 readonly onDidRun = this . _onDidRun . event ;
@@ -138,7 +139,7 @@ export class ActionBar extends Disposable implements IActionRunner {
138139 eventHandled = this . focusPrevious ( ) ;
139140 } else if ( nextKeys && ( event . equals ( nextKeys [ 0 ] ) || event . equals ( nextKeys [ 1 ] ) ) ) {
140141 eventHandled = this . focusNext ( ) ;
141- } else if ( event . equals ( KeyCode . Escape ) ) {
142+ } else if ( event . equals ( KeyCode . Escape ) && this . cancelHasListener ) {
142143 this . _onDidCancel . fire ( ) ;
143144 } else if ( this . isTriggerKeyEvent ( event ) ) {
144145 // Staying out of the else branch even if not triggered
You can’t perform that action at this time.
0 commit comments