fix terminal input getting stuck sometimes

pull/117/merge
nightwing 2015-07-08 10:45:31 +04:00
rodzic f531a9ce9b
commit 70a0c84f40
1 zmienionych plików z 10 dodań i 8 usunięć

Wyświetl plik

@ -651,23 +651,27 @@ define(function(require, exports, module) {
}
function createTerminal(session, state) {
var queue = "";
var warned = false;
var timer = null;
function send(data) {
if (!(c9.status & c9.NETWORK))
return warnConnection();
emit("input", { data: data, session: session });
queue += data;
if (!queue)
setTimeout(function() {
if (!timer) {
timer = setTimeout(function() {
timer = null;
if (!session.connected)
return warnConnection();
// Send data to stdin of tmux process
session.pty.write(queue);
queue = "";
}, 1);
queue += data;
}
}
function warnConnection() {
@ -685,9 +689,7 @@ define(function(require, exports, module) {
// Create the terminal renderer and monitor
var terminal = new Aceterm(0, 0, send);
var queue = "";
var warned = false;
session.terminal = terminal;
session.monitor = terminal.monitor;
session.aceSession = terminal.aceSession;