Fixed multi-display fight when two browsers select different displays.

Ylian Saint-Hilaire committed Mar 25, 2020 at 16:20 UTC 380f4232277dd02d3759c2502f595d853dd45735
3 files changed +4 -3
package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "meshcentral",
3 - "version": "0.5.0-s",
3 + "version": "0.5.0-t",
4 "keywords": [
5 "Remote Management",
6 "Intel AMT",
public/scripts/agent-desktop-0.0.2.js
+1 -1
@@ -515,7 +515,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
515 }
516
517 obj.GetDisplayNumbers = function () { obj.send(String.fromCharCode(0x00, 0x0B, 0x00, 0x04)); } // Get Terminal display
518 - obj.SetDisplay = function (number) { console.log('Set display', number); obj.send(String.fromCharCode(0x00, 0x0C, 0x00, 0x06, number >> 8, number & 0xFF)); } // Set Terminal display
518 + obj.SetDisplay = function (number) { /*console.log('Set display', number);*/ obj.send(String.fromCharCode(0x00, 0x0C, 0x00, 0x06, number >> 8, number & 0xFF)); } // Set Terminal display
519 obj.intToStr = function (x) { return String.fromCharCode((x >> 24) & 0xFF, (x >> 16) & 0xFF, (x >> 8) & 0xFF, x & 0xFF); }
520 obj.shortToStr = function (x) { return String.fromCharCode((x >> 8) & 0xFF, x & 0xFF); }
521
views/default.handlebars
+2 -1
@@ -6327,13 +6327,14 @@
6327 displayCount++;
6328 displaySelector += '<option' + ((selDisplay == i) ? ' selected' : '') + ' value=' + i + '>' + displays[i] + '</option>';
6329 if ((deskPreferedStickyDisplay == i) && (selDisplay != deskPreferedStickyDisplay)) { desktop.m.SetDisplay(i); }
6330 + deskPreferedStickyDisplay = -1;
6331 }
6332 QH('termdisplays', displaySelector);
6333 QV('termdisplays', displayCount > 1);
6334 }
6335
6336 function deskGetDisplayNumbers(e) { desktop.m.GetDisplayNumbers(); }
6336 - var deskPreferedStickyDisplay = 0;
6337 + var deskPreferedStickyDisplay = -1;
6338 function deskSetDisplay(e) { desktop.m.SetDisplay(deskPreferedStickyDisplay = parseInt(Q('termdisplays').value)); Q('termdisplays').blur(); }
6339
6340 // Double click detection. This is important for MacOS.