Guard public selection api

This commit is contained in:
mofux 2017-07-14 15:56:14 +02:00
parent 7cfc2ffa32
commit 0af4b17c20

View File

@ -1437,7 +1437,7 @@ Terminal.prototype.deregisterLinkMatcher = function(matcherId) {
* Gets whether the terminal has an active selection. * Gets whether the terminal has an active selection.
*/ */
Terminal.prototype.hasSelection = function() { Terminal.prototype.hasSelection = function() {
return this.selectionManager.hasSelection; return !!(this.selectionManager && this.selectionManager.hasSelection);
}; };
/** /**
@ -1445,21 +1445,25 @@ Terminal.prototype.hasSelection = function() {
* behavior outside of xterm.js. * behavior outside of xterm.js.
*/ */
Terminal.prototype.getSelection = function() { Terminal.prototype.getSelection = function() {
return this.selectionManager.selectionText; return this.selectionManager ? this.selectionManager.selectionText : '';
}; };
/** /**
* Clears the current terminal selection. * Clears the current terminal selection.
*/ */
Terminal.prototype.clearSelection = function() { Terminal.prototype.clearSelection = function() {
this.selectionManager.clearSelection(); if (this.selectionManager) {
this.selectionManager.clearSelection();
}
}; };
/** /**
* Selects all text within the terminal. * Selects all text within the terminal.
*/ */
Terminal.prototype.selectAll = function() { Terminal.prototype.selectAll = function() {
this.selectionManager.selectAll(); if (this.selectionManager) {
this.selectionManager.selectAll();
}
}; };
/** /**