refix #6240 as switching devices keep session open by mistake

Signed-off-by: si458 <simonsmith5521@gmail.com>

si458 committed Sep 10, 2024 at 13:31 UTC 21206b670ca54afede3f5c45a3c755d6ea146b9d
1 file changed +15 -3
views/default.handlebars
+15 -3
@@ -9038,7 +9038,11 @@
9038 var desktopNode;
9039 function setupDesktop() {
9040 // Setup the remote desktop
9041 - //if ((desktopNode != currentNode) && (desktop != null)) { desktop.Stop(); desktopNode = null; desktop = null; }
9041 + if ((desktopNode != currentNode) && (desktop != null)) {
9042 + if (desktopNode._id != currentNode._id) {
9043 + desktop.Stop(); desktopNode = null; desktop = null;
9044 + }
9045 + }
9046
9047 // If the device desktop is already connected in multi-desktop, use that.
9048 if ((desktopNode != currentNode) || (desktop == null)) {
@@ -10500,7 +10504,11 @@
10504 var terminalNode;
10505 function setupTerminal() {
10506 // Setup the terminal
10503 - //if ((terminalNode != currentNode) && (terminal != null)) { terminal.Stop(); terminal = null; }
10507 + if ((terminalNode != currentNode) && (terminal != null)) {
10508 + if (terminalNode._id != currentNode._id) {
10509 + terminal.Stop(); terminalNode = null; terminal = null;
10510 + }
10511 + }
10512 terminalNode = currentNode;
10513 updateTerminalButtons();
10514 }
@@ -10953,6 +10961,11 @@
10961 var filesNode;
10962 function setupFiles() {
10963 // Setup the files tab
10964 + if ((filesNode != currentNode) && (files != null)) {
10965 + if (filesNode._id != currentNode._id) {
10966 + files.Stop(); filesNode = null; files = null;
10967 + }
10968 + }
10969 var samenode = (filesNode == currentNode);
10970 filesNode = currentNode;
10971 var online = ((filesNode.conn & 1) != 0) || (filesNode.mtype == 3); // If Agent (1) connected, enable Terminal
@@ -10961,7 +10974,6 @@
10974 QV('p13Connect', (files == null) && (filesNode.mtype == 2));
10975 QV('p13Connects', ((features2 & 0x200) != 0) && (filesNode.agent != null) && (filesNode.agent.id != 3) && (filesNode.agent.id != 4) && ((features2 & 0x800000) == 0));
10976 QV('p13Disconnect', files != null);
10964 - //if (((samenode == false) || (online == false)) && files) { files.Stop(); files = null; }
10977 p13setActions();
10978 }
10979