Parse setting response to surface thrown errors
authorKevin Sawicki <kevinsawicki@gmail.com>
Mon, 3 Apr 2017 16:11:06 +0000 (09:11 -0700)
committerKevin Sawicki <kevinsawicki@gmail.com>
Mon, 3 Apr 2017 19:16:51 +0000 (12:16 -0700)
lib/renderer/api/remote.js

index b3d3d2a..f65d617 100644 (file)
@@ -139,7 +139,12 @@ const setObjectMembers = function (ref, object, metaId, members) {
       // Only set setter when it is writable.
       if (member.writable) {
         descriptor.set = function (value) {
-          ipcRenderer.sendSync('ELECTRON_BROWSER_MEMBER_SET', metaId, member.name, value)
+          const meta = ipcRenderer.sendSync('ELECTRON_BROWSER_MEMBER_SET', metaId, member.name, value)
+          // Meta will be non-null when a setter error occurred so parse it
+          // to a value so it gets re-thrown.
+          if (meta != null) {
+            metaToValue(meta)
+          }
           return value
         }
       }