fix ContextMenus on canary

This commit is contained in:
Vendicated 2025-05-13 21:34:11 +02:00
parent e69575f273
commit d542095993
No known key found for this signature in database
GPG key ID: D66986BAF75ECF18
2 changed files with 15 additions and 10 deletions

View file

@ -27,10 +27,13 @@ waitFor(m => m.name === "MenuCheckboxItem", (_, id) => {
// we have to do this manual require by ID because m is in this case the MenuCheckBoxItem instead of the entire module
const module = wreq(id);
for (const e of Object.values(module)) {
if (typeof e === "function" && e.name.startsWith("Menu")) {
Menu[e.name] = e;
}
for (const key in module) {
try {
const e = module[key];
if (typeof e === "function" && e.name.startsWith("Menu")) {
Menu[e.name] = e;
}
} catch { }
}
});

View file

@ -445,13 +445,15 @@ function runFactoryWithWrap(patchedFactory: PatchedModuleFactory, thisArg: unkno
}
for (const exportKey in exports) {
const exportValue = exports[exportKey];
try {
const exportValue = exports[exportKey];
if (exportValue != null && filter(exportValue)) {
waitForSubscriptions.delete(filter);
callback(exportValue, module.id);
break;
}
if (exportValue != null && filter(exportValue)) {
waitForSubscriptions.delete(filter);
callback(exportValue, module.id);
break;
}
} catch { }
}
} catch (err) {
logger.error("Error while firing callback for Webpack waitFor subscription:\n", err, filter, callback);