From 2bf4cf5a20b7cdaab3d1e85e189e9167dc621fd7 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Thu, 6 Jul 2017 12:55:26 +0200 Subject: [PATCH] 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. --- core/rfb.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/rfb.js b/core/rfb.js index 76f75f95..968cd407 100644 --- a/core/rfb.js +++ b/core/rfb.js @@ -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) { } },