Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.

Commit 5d0f0e9

Browse files
committed
Fix CTRL+Space handling while the menu is open, fixes #13481
Signed-off-by: Pete Nykanen <pete.a.nykanen@gmail.com>
1 parent 1edb0d6 commit 5d0f0e9

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

src/editor/CodeHintList.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -326,8 +326,9 @@ define(function (require, exports, module) {
326326
* Convert keydown events into hint list navigation actions.
327327
*
328328
* @param {KeyBoardEvent} keyEvent
329+
* @param {bool} isFakeCallUp - True if faked call up (for example calling CTRL+Space while hints are open)
329330
*/
330-
CodeHintList.prototype._keydownHook = function (event) {
331+
CodeHintList.prototype._keydownHook = function (event, isFakeCallUp) {
331332
var keyCode,
332333
self = this;
333334

@@ -389,7 +390,7 @@ define(function (require, exports, module) {
389390
}
390391

391392
// (page) up, (page) down, enter and tab key are handled by the list
392-
if (event.type === "keydown" && this.isHandlingKeyCode(event)) {
393+
if (event.type === "keydown" && this.isHandlingKeyCode(event) || isFakeCallUp) {
393394
keyCode = event.keyCode;
394395

395396
if (event.keyCode === KeyEvent.DOM_VK_ESCAPE) {
@@ -408,7 +409,7 @@ define(function (require, exports, module) {
408409
} else if (keyCode === KeyEvent.DOM_VK_UP) {
409410
_rotateSelection.call(this, -1);
410411
} else if (keyCode === KeyEvent.DOM_VK_DOWN ||
411-
(event.ctrlKey && keyCode === KeyEvent.DOM_VK_SPACE)) {
412+
(event.ctrlKey && keyCode === KeyEvent.DOM_VK_SPACE) || isFakeCallUp) {
412413
_rotateSelection.call(this, 1);
413414
} else if (keyCode === KeyEvent.DOM_VK_PAGE_UP) {
414415
_rotateSelection.call(this, -_itemsPerPage());
@@ -517,9 +518,7 @@ define(function (require, exports, module) {
517518
* @param {KeyBoardEvent} keyEvent
518519
*/
519520
CodeHintList.prototype.callMoveUp = function (event) {
520-
delete event.type;
521-
event.type = "keydown";
522-
this._keydownHook(event);
521+
this._keydownHook(event, true);
523522
};
524523
/**
525524
* Closes the hint list

0 commit comments

Comments
 (0)