diff --git a/guacamole/client/web/javascript/guacamole.js b/guacamole/client/web/javascript/guacamole.js index c4ff7ca65..7f0c70345 100644 --- a/guacamole/client/web/javascript/guacamole.js +++ b/guacamole/client/web/javascript/guacamole.js @@ -575,16 +575,7 @@ function VNCClient(display) { && currentState != STATE_DISCONNECTING) { setState(STATE_DISCONNECTING); - - // Attempt disdisconnection - var disconnect_xmlhttprequest = new XMLHttpRequest(); - disconnect_xmlhttprequest.open("GET", "disconnect", false); - disconnect_xmlhttprequest.send(null); - - // Handle result (and check for errors) - var message = new GuacamoleMessage(disconnect_xmlhttprequest.responseXML); - handleErrors(message); - + sendMessage("disconnect;"); // End session setState(STATE_DISCONNECTED); } diff --git a/guacamole/libguac/client.c b/guacamole/libguac/client.c index 10c291906..21b802ce3 100644 --- a/guacamole/libguac/client.c +++ b/guacamole/libguac/client.c @@ -167,6 +167,10 @@ void guac_start_client(guac_client* client) { ); } + else if (strcmp(instruction.opcode, "disconnect") == 0) { + return; + } + } while ((retval = guac_read_instruction(io, &instruction)) > 0); if (retval < 0)