mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-02-12 11:01:52 +00:00
fix view chunksize being too big causing pixelation
Signed-off-by: si458 <simonsmith5521@gmail.com>
This commit is contained in:
parent
c96d7ff1ca
commit
854d6c00d2
2 changed files with 12 additions and 4 deletions
8
public/scripts/agent-desktop-0.0.2-min.js
vendored
8
public/scripts/agent-desktop-0.0.2-min.js
vendored
|
@ -221,12 +221,16 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
|
|||
if ((cmd == 3) || (cmd == 4) || (cmd == 7)) { X = (view[4] << 8) + view[5]; Y = (view[6] << 8) + view[7]; }
|
||||
if (obj.debugmode > 2) { console.log('CMD', cmd, cmdsize, X, Y); }
|
||||
|
||||
// Fix for view being too large for String.fromCharCode.apply()
|
||||
var chunkSize = 10000;
|
||||
let result = '';
|
||||
for (let i = 0; i < view.length; i += chunkSize) { result += String.fromCharCode.apply(null, view.slice(i, i + chunkSize)); }
|
||||
// Record the command if needed
|
||||
if (obj.recordedData != null) {
|
||||
if (cmdsize > 65000) {
|
||||
obj.recordedData.push(recordingEntry(2, 1, obj.shortToStr(27) + obj.shortToStr(8) + obj.intToStr(cmdsize) + obj.shortToStr(cmd) + obj.shortToStr(0) + obj.shortToStr(0) + obj.shortToStr(0) + String.fromCharCode.apply(null, view)));
|
||||
obj.recordedData.push(recordingEntry(2, 1, obj.shortToStr(27) + obj.shortToStr(8) + obj.intToStr(cmdsize) + obj.shortToStr(cmd) + obj.shortToStr(0) + obj.shortToStr(0) + obj.shortToStr(0) + result));
|
||||
} else {
|
||||
obj.recordedData.push(recordingEntry(2, 1, String.fromCharCode.apply(null, view)));
|
||||
obj.recordedData.push(recordingEntry(2, 1, result));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -221,12 +221,16 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
|
|||
if ((cmd == 3) || (cmd == 4) || (cmd == 7)) { X = (view[4] << 8) + view[5]; Y = (view[6] << 8) + view[7]; }
|
||||
if (obj.debugmode > 2) { console.log('CMD', cmd, cmdsize, X, Y); }
|
||||
|
||||
// Fix for view being too large for String.fromCharCode.apply()
|
||||
var chunkSize = 10000;
|
||||
let result = '';
|
||||
for (let i = 0; i < view.length; i += chunkSize) { result += String.fromCharCode.apply(null, view.slice(i, i + chunkSize)); }
|
||||
// Record the command if needed
|
||||
if (obj.recordedData != null) {
|
||||
if (cmdsize > 65000) {
|
||||
obj.recordedData.push(recordingEntry(2, 1, obj.shortToStr(27) + obj.shortToStr(8) + obj.intToStr(cmdsize) + obj.shortToStr(cmd) + obj.shortToStr(0) + obj.shortToStr(0) + obj.shortToStr(0) + String.fromCharCode.apply(null, view)));
|
||||
obj.recordedData.push(recordingEntry(2, 1, obj.shortToStr(27) + obj.shortToStr(8) + obj.intToStr(cmdsize) + obj.shortToStr(cmd) + obj.shortToStr(0) + obj.shortToStr(0) + obj.shortToStr(0) + result));
|
||||
} else {
|
||||
obj.recordedData.push(recordingEntry(2, 1, String.fromCharCode.apply(null, view)));
|
||||
obj.recordedData.push(recordingEntry(2, 1, result));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue