From 4ac02003de9356ab994cb900e0f00dad4fb65721 Mon Sep 17 00:00:00 2001 From: kkapsner Date: Mon, 21 Jun 2021 20:41:33 +0200 Subject: [PATCH] wrapped original funtion may gets destroyed before usage For #564 --- lib/extension.js | 9 +++++++-- versions/updates.json | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/extension.js b/lib/extension.js index 3a23785..38b4e02 100644 --- a/lib/extension.js +++ b/lib/extension.js @@ -157,14 +157,19 @@ }); } const handler = scope.getWrapped(window).Object.create(null); - handler.apply = scope.exportFunctionWithName(function(_target, thisArgs, args){ + handler.apply = scope.exportFunctionWithName(function(target, thisArgs, args){ try { return args.length? replacement.call(thisArgs, ...args): replacement.call(thisArgs); } catch (error){ - return original.apply(thisArgs, args); + try { + return original.apply(thisArgs, args); + } + catch (error){ + return target.apply(thisArgs, args); + } } }, window, ""); const proxy = new window.Proxy(original, handler); diff --git a/versions/updates.json b/versions/updates.json index 2da9e26..d539a1b 100644 --- a/versions/updates.json +++ b/versions/updates.json @@ -197,6 +197,10 @@ { "version": "1.7Alpha20210620", "update_link": "https://canvasblocker.kkapsner.de/versions/canvasblocker_beta-1.7Alpha20210620-an+fx.xpi" + }, + { + "version": "1.7Alpha20210621", + "update_link": "https://canvasblocker.kkapsner.de/versions/canvasblocker_beta-1.7Alpha20210621-an+fx.xpi" } ] }