Commit 4043d8bb authored by Samuel's avatar Samuel

Merge pull request #458 from kanaka/bug/disconnect

Fix disconnect/reconnect issues
parents 2ec29db7 e543525f
......@@ -482,6 +482,7 @@ var RFB;
Util.Debug("Clearing disconnect timer");
clearTimeout(this._disconnTimer);
this._disconnTimer = null;
this._sock.off('close'); // make sure we don't get a double event
}
switch (state) {
......
......@@ -110,13 +110,7 @@ var UI;
UI.initSetting('path', 'websockify');
UI.initSetting('repeaterID', '');
UI.rfb = new RFB({'target': $D('noVNC_canvas'),
'onUpdateState': UI.updateState,
'onXvpInit': UI.updateXvpVisualState,
'onClipboard': UI.clipReceive,
'onFBUComplete': UI.FBUComplete,
'onFBResize': UI.updateViewDragButton,
'onDesktopName': UI.updateDocumentTitle});
UI.initRFB();
var autoconnect = WebUtil.getQueryVar('autoconnect', false);
if (autoconnect === 'true' || autoconnect == '1') {
......@@ -192,6 +186,16 @@ var UI;
}
},
initRFB: function () {
UI.rfb = new RFB({'target': $D('noVNC_canvas'),
'onUpdateState': UI.updateState,
'onXvpInit': UI.updateXvpVisualState,
'onClipboard': UI.clipReceive,
'onFBUComplete': UI.FBUComplete,
'onFBResize': UI.updateViewDragButton,
'onDesktopName': UI.updateDocumentTitle});
},
addMouseHandlers: function() {
// Setup interface handlers that can't be inline
$D("noVNC_view_drag_button").onclick = UI.setViewDrag;
......@@ -602,6 +606,13 @@ var UI;
break;
}
switch (state) {
case 'fatal':
case 'failed':
case 'disconnected':
UI.initRFB();
}
if (typeof(msg) !== 'undefined') {
$D('noVNC-control-bar').setAttribute("class", klass);
$D('noVNC_status').innerHTML = msg;
......@@ -654,8 +665,13 @@ var UI;
switch (UI.rfb_state) {
case 'fatal':
case 'failed':
case 'loaded':
case 'disconnected':
$D('connectButton').style.display = "";
$D('disconnectButton').style.display = "none";
UI.connSettingsOpen = false;
UI.toggleConnectPanel();
break;
case 'loaded':
$D('connectButton').style.display = "";
$D('disconnectButton').style.display = "none";
break;
......@@ -736,8 +752,7 @@ var UI;
UI.rfb.set_onFBUComplete(UI.FBUComplete);
$D('noVNC_logo').style.display = "block";
UI.connSettingsOpen = false;
UI.toggleConnectPanel();
// Don't display the connection settings until we're actually disconnected
},
displayBlur: function() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment