}
})
-ipcMain.on('ELECTRON_BROWSER_MEMBER_SET', function (event, id, name, value) {
+ipcMain.on('ELECTRON_BROWSER_MEMBER_SET', function (event, id, name, args) {
try {
- let obj = objectsRegistry.get(id)
+ const [value] = unwrapArgs(event.sender, args)
+ const obj = objectsRegistry.get(id)
if (obj == null) {
throwRPCError(`Cannot set property '${name}' on missing remote object ${id}`)
// Only set setter when it is writable.
if (member.writable) {
descriptor.set = function (value) {
- const meta = ipcRenderer.sendSync('ELECTRON_BROWSER_MEMBER_SET', metaId, member.name, value)
+ const args = wrapArgs([value])
+ const meta = ipcRenderer.sendSync('ELECTRON_BROWSER_MEMBER_SET', metaId, member.name, args)
// Meta will be non-null when a setter error occurred so parse it
// to a value so it gets re-thrown.
if (meta != null) {