Browse Source

Guard against missing members in setObjectMembers

Kevin Sawicki 8 years ago
parent
commit
24294749a0
1 changed files with 3 additions and 3 deletions
  1. 3 3
      lib/renderer/api/remote.js

+ 3 - 3
lib/renderer/api/remote.js

@@ -95,6 +95,8 @@ const wrapArgs = function (args, visited) {
 // The |ref| will be kept referenced by |members|.
 // This matches |getObjectMemebers| in rpc-server.
 const setObjectMembers = function (ref, object, metaId, members) {
+  if (!Array.isArray(members)) return
+
   for (let member of members) {
     if (object.hasOwnProperty(member.name)) continue
 
@@ -161,9 +163,7 @@ const proxyFunctionProperties = function (remoteMemberFunction, metaId, name) {
     if (loaded) return
     loaded = true
     const meta = ipcRenderer.sendSync('ELECTRON_BROWSER_MEMBER_GET', metaId, name)
-    if (Array.isArray(meta.members)) {
-      setObjectMembers(remoteMemberFunction, remoteMemberFunction, meta.id, meta.members)
-    }
+    setObjectMembers(remoteMemberFunction, remoteMemberFunction, meta.id, meta.members)
   }
 
   return new Proxy(remoteMemberFunction, {