try/catch guard for QEMU keyboard test

Safari on older iOS doesn't support creating KeyboardEvent objects,
so put a guard in to avoid crashes.
This commit is contained in:
Pierre Ossman 2017-07-06 12:55:26 +02:00
parent 7cac5c8e9f
commit 2bf4cf5a20
1 changed files with 7 additions and 3 deletions

View File

@ -2410,9 +2410,13 @@ RFB.encodingHandlers = {
QEMUExtendedKeyEvent: function () {
this._FBU.rects--;
var keyboardEvent = document.createEvent("keyboardEvent");
if (keyboardEvent.code !== undefined) {
this._qemuExtKeyEventSupported = true;
// Old Safari doesn't support creating keyboard events
try {
var keyboardEvent = document.createEvent("keyboardEvent");
if (keyboardEvent.code !== undefined) {
this._qemuExtKeyEventSupported = true;
}
} catch (err) {
}
},